1

我对 Surround QueryParser 有一些疑问。你们中的任何人都可以建议吗?

  1. 如何一次搜索多个字段?

如下所示,语法允许搜索一个字段。但是如何提交“FIELD1:N(abc,corp)FIELD2:N(xyz,corp)”之类的查询。使用 Surround QueryParser 可以实现这样的事情吗?

srndQuery srndQuery = org.apache.lucene.queryparser.surround.parser.QueryParser.parse(strTxtSearchString); 查询查询 = srndQuery.makeLuceneQueryField(, new BasicQueryFactory());

  1. 如何以我们在常规 QueryParser 中作为 queryparser.escape() 的方式转义特殊字符;

  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