Skip to content

Instantly share code, notes, and snippets.

import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.core.WhitespaceTokenizer;
import org.apache.lucene.analysis.miscellaneous.DelimitedTermFrequencyTokenFilter;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.index.*;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.MatchAllDocsQuery;
import org.apache.lucene.search.TopDocs;
@eribeiro
eribeiro / fetcher.sh
Last active January 29, 2020 22:51
Retrieves all the documents from a Solr core/collection
#!/bin/bash
## Usage:
## $ chmod +x fetcher.sh
## $fetcher.sh <output file>
SOLR_URL="http://localhost:8983/solr"
COLLECTION="teste"
ROWS=10
FL=*,score # No space around commas
@eribeiro
eribeiro / search_relevance_evaluation_metric.py
Last active August 21, 2022 13:20
Search relevance evaluation metrics
##
## Python implementations of the search relevance evaluation metrics described at
## https://opensourceconnections.com/blog/2020/02/28/choosing-your-search-relevance-metric/
##
##
def precision(docs):
return sum(docs) / len(docs) if docs else 0
def avg_precision(docs):
@eribeiro
eribeiro / solr_password.py
Created November 27, 2020 17:07
Generates sha256 password with salt for use in Solr's Basic Auth setup
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import secrets
import sys
from hashlib import sha256
from base64 import b64encode, b64decode
##
## Based on the logic here: https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/security/Sha256AuthenticationProvider.java