0
私はLuceneの6.2.1で、次の試してみました:交差点 - Luceneの
私は異なるフィールドA
、B
、C
、D
、E
を持っていると私は別のsearchquery
すべてのフィールドのために作ります。
次に交差点を作りたいと思います。結果がどこにあってもそれを表示してください。
誰かがBooleanquery
でこれを試してくださいました。だからこれは私のアプローチです:
IndexReader reader = DirectoryReader.open(FSDirectory.open(Paths.get(index)));
IndexSearcher searcher = new IndexSearcher(reader);
Analyzer analyzer = new StandardAnalyzer();
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(System.in, StandardCharsets.UTF_8));
QueryParser parser1 = new QueryParser("A", analyzer);// i have 5 different QueryParser
Query qPersonen = parser1.parse("searchstring"); // i have also 5 Queries
booleanQuery.add(qPersonen, BooleanClause.Occur.MUST);
TotalHitCountCollector collector = new TotalHitCountCollector();
TopDocs results = searcher.search(booleanQuery.build(), 100);
ScoreDoc[] hits = results.scoreDocs;
int numTotalHits = results.totalHits;
System.out.println("Results: " + numTotalHits);
なぜ機能していませんか?何が原因だろう?それは、常に結果を返しません:(
あなたの質問は何ですか?アプローチが機能していないのですか? – root545
「BooleanQuery」のインスタンスを取得してみませんか? –