Когда я опускаю параметр сортировки, поиск работает отлично, и результирующие документы содержат действительный результат.
Я использую lucene-core 9.6.0 и lucene-analyzers-common 8.11.2, которые являются наиболее современными версии прямо сейчас в репозитории Maven.
Сначала я подумал, что испортил свой индекс или запрос. Но я могу воспроизвести проблему с помощью самой простой реализации, какую только могу себе представить:
Код: Выделить всё
public class LuceneSearch {
public static void main(String[] args) {
try {
Directory directory = new ByteBuffersDirectory();
try (IndexWriter indexWriter = new IndexWriter(directory, new IndexWriterConfig(new SimpleAnalyzer()))) {
indexWriter.addDocument(createDocument("a very simple example"));
indexWriter.addDocument(createDocument("another example"));
indexWriter.addDocument(createDocument("hello world"));
}
IndexReader indexReader = DirectoryReader.open(directory);
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
Query query = new TermQuery(new Term("value", "hello"));
Sort sort = new Sort(SortField.FIELD_SCORE); //
Подробнее здесь: [url]https://stackoverflow.com/questions/76306857/apache-lucene-returns-nan-as-score-when-sorting-by-relevance[/url]
Мобильная версия