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

C# 如何在Lucene中传递Queryparser中的多个字段?,c#,lucene.net,C#,Lucene.net,我可以在Lucene的Querparser中传递多个索引字段吗? 我做过类似的事情 QueryParser queryParser = MultiFieldQueryParser.Parse(new[] { query }, new[] { "Name", "Description", "ExternalIdentifier", "OriginalFileName", "Text" }, new StandardAnalyzer()); queryParser.setDefaultOp

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

  QueryParser queryParser =  MultiFieldQueryParser.Parse(new[] { query }, new[] { "Name", "Description", "ExternalIdentifier", "OriginalFileName", "Text" }, new StandardAnalyzer());
  queryParser.setDefaultOperator(QueryParser.Operator.AND);
但它显示出一些错误?我有点困惑,有人能帮我吗?

对于
multifiedqueryparser.Parse的特定重载,您正在使用的
声明如下:

IllegalArgumentException
- 如果查询的长度、字段、, 和标志数组不同

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


您可能希望使用,它将接受一个查询,但有多个字段和标志。

不能像这样传递多个字段吗?那么我们如何传递多个索引字段呢?那么,要签入多个索引字段,我必须使用多个重载吗?或者是否有任何方法可以在一条语句中的多个字段中检查查询?您可以使用单一重载。然而,我不能100%确定这是否是你想要的。下面是一个示例:multifiedQueryParser.Parse(new[]{query},new[]{“Name”,“Description”},new[]{BooleanClause.occure.SHOULD,BooleanClause.occure.SHOULD},new StandardAnalyzer());你试过这个答案吗?看来你的问题可能是个骗局。