我对 Surround QueryParser 有一些疑问。你们中的任何人都可以建议吗?
- 如何一次搜索多个字段?
如下所示,语法允许搜索一个字段。但是如何提交“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());
如何以我们在常规 QueryParser 中作为 queryparser.escape() 的方式转义特殊字符;
如何转义“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 有什么方法可以做到这一点吗?
任何输入都会非常有帮助。谢谢!