Соединение времени запроса Lucene не работает, возвращает нулевые результаты ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Соединение времени запроса Lucene не работает, возвращает нулевые результаты

Сообщение Anonymous »

Я пытаюсь выполнить соединение времени запроса двух отдельных индексов с разными типами документов, используя соединение времени запроса Lucene.
Каждый индекс действителен, и они имеют общий " ID" Длинное значение, разрешающее соединение. Однако запрос на соединение возвращает НУЛЕВЫЕ результаты.
Должно быть, я делаю что-то не так, любые идеи или помощь будут очень признательны, поскольку я работал над этим несколько дней.
Я пытался соединить два индекса, используя общее длинное поле, но это не дало результатов.
Следующий класс построит два индекса (от и до), а затем попытается чтобы выполнить к ним запрос на объединение.
package org.test;

import java.io.File;
import java.nio.file.FileSystems;

import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.FieldType;
import org.apache.lucene.document.NumericDocValuesField;
import org.apache.lucene.document.StoredField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.BooleanClause;
import org.apache.lucene.search.BooleanQuery;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.search.join.JoinUtil;
import org.apache.lucene.search.join.ScoreMode;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.NIOFSDirectory;

public class LuceneJoinTest {

public static void main(String[] args) {
try {
buildIndex("C:\\Temp\\index\\fromIndex", "fromFieldId", 50);
buildIndex("C:\\Temp\\index\\toIndex", "toFieldId", 10);
searchIndex();

} catch (Throwable t) {
t.printStackTrace();
}
}

public static void buildIndex(String path, String fieldName, int docCount) throws Exception {

System.out.println("buildIndex:" + path);
Analyzer la = new StandardAnalyzer();
IndexWriterConfig config = new IndexWriterConfig(la);
config.setRAMBufferSizeMB(50);
Directory d = new NIOFSDirectory(FileSystems.getDefault().getPath(path));
IndexWriter writer = new IndexWriter(d, config);

for (int i = 1; i

Подробнее здесь: https://stackoverflow.com/questions/791 ... ro-results

Вернуться в «JAVA»