如何使用Surround QueryParser搜索多个字段?

时间:2013-10-14 19:46:55

标签: lucene wildcard surround

我对Surround QueryParser有一些疑问。你能不能建议一下吗?

  1. 如何一次搜索多个字段?
  2. 如下所示,语法允许搜索一个字段。但是如何提交像“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的方式将特殊字符转义为queryparser.escape();

    2. 如何逃避“和”,“或”,“W”,“N”等词语?搜索字符串本身可能包含诸如“和”之类的单词。在这种情况下,我的查询看起来像“N(abc,and,sons)”或“W(abc,n,company)”。

    3. 当我提交此类查询时,我收到了org.apache.lucene.queryparser.surround.parser.ParseException。

      1. 如何在单词的开头提供外卡?
      2. 常规QueryParser让我们做parser.setAllowLeadingWildcard(true);有没有办法用Surround QueryParser做到这一点?

        任何输入都会非常有用。谢谢!

0 个答案:

没有答案