Surround QueryParser に関していくつか質問があります。どなたかお勧めいただけませんか?
- 一度に複数のフィールドを検索する方法は?
以下に示すように、この構文では 1 つのフィールドを検索できます。しかし、「FIELD1:N(abc,corp) FIELD2:N(xyz,corp)」のようなクエリを送信するにはどうすればよいですか。Surround QueryParser でこのようなことは可能ですか?
SrndQuery srndQuery = org.apache.lucene.queryparser.surround.parser.QueryParser.parse(strTxtSearchString); クエリ query = srndQuery.makeLuceneQueryField(, new BasicQueryFactory());
queryparser.escape(); として、通常の QueryParser で行う方法で特殊文字をエスケープする方法。
「and」、「or」、「W」、「N」などの単語をエスケープするには? 検索文字列自体に「and」などの単語が含まれている場合があります。その場合、クエリは "N(abc,and,sons)" または "W(abc,n,company)" のようになります。
このようなクエリを送信すると、org.apache.lucene.queryparser.surround.parser.ParseException が発生します。
- 単語の先頭にワイルドカードを指定するには?
通常の QueryParser では、parser.setAllowLeadingWildcard(true); を実行できます。Surround QueryParser でこれを行う方法はありますか?
どんな入力も非常に役に立ちます。ありがとう!