1

Surround QueryParser に関していくつか質問があります。どなたかお勧めいただけませんか?

  1. 一度に複数のフィールドを検索する方法は?

以下に示すように、この構文では 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());

  1. queryparser.escape(); として、通常の QueryParser で行う方法で特殊文字をエスケープする方法。

  2. 「and」、「or」、「W」、「N」などの単語をエスケープするには? 検索文字列自体に「and」などの単語が含まれている場合があります。その場合、クエリは "N(abc,and,sons)" または "W(abc,n,company)" のようになります。

このようなクエリを送信すると、org.apache.lucene.queryparser.surround.parser.ParseException が発生します。

  1. 単語の先頭にワイルドカードを指定するには?

通常の QueryParser では、parser.setAllowLeadingWildcard(true); を実行できます。Surround QueryParser でこれを行う方法はありますか?

どんな入力も非常に役に立ちます。ありがとう!

4

0 に答える 0