次のようなドキュメントがあるとしましょう
stringfield:123456
textfield:name website stackoverflow
そして、次の方法でクエリを作成すると
StandardAnalyzer analyzer = new StandardAnalyzer(Version.LUCENE_42);
QueryParser luceneQueryParser = new QueryParser(Version.LUCENE_42, "", analyzer);
Query luceneSearchQuery = luceneQueryParser.parse("textfield:\"name website\"");
期待どおりにドキュメントが返されますが、Lucene QueryAPI を使用してクエリを作成すると
PhraseQuery firstNameQuery = new PhraseQuery();
firstNameQuery.add(new Term("textfield","name website"));
結果は得られません。「name website」をトークン化し、各トークンをphrasequeryに追加する必要があります。
文字列クエリの解析中に行うように、QueryAPI でトークン化するデフォルトの方法はありますか。確かに私はそれを自分で行うことができますが、すでに実装されている場合は車輪を再発明します.