如何在Lucene的Queryparser中传递多个字段?

时间:2011-05-23 12:29:15

标签: c# lucene.net

我可以在Lucene的Querparser中传递多个索引字段吗? 我做过类似的事情

  QueryParser queryParser =  MultiFieldQueryParser.Parse(new[] { query }, new[] { "Name", "Description", "ExternalIdentifier", "OriginalFileName", "Text" }, new StandardAnalyzer());
  queryParser.setDefaultOperator(QueryParser.Operator.AND);

但它显示出一些错误?我有点困惑,任何人都可以给我一个帮助吗?

1 个答案:

答案 0 :(得分:2)

您使用的MultiFieldQueryParser.Parse特定重载的documentation说明如下:

  

IllegalArgumentException -   如果查询的长度,字段,   和flags数组不同。

我怀疑你得到了这个例外,因为你有一个查询和5个字段。如果这是您要使用的方法,则必须提供长度为五的查询数组。

可能想要使用different parse overload,它只需要一个查询,但需要多个字段和标记。