我可以在Lucene的Querparser中传递多个索引字段吗? 我做过类似的事情
QueryParser queryParser = MultiFieldQueryParser.Parse(new[] { query }, new[] { "Name", "Description", "ExternalIdentifier", "OriginalFileName", "Text" }, new StandardAnalyzer());
queryParser.setDefaultOperator(QueryParser.Operator.AND);
但它显示出一些错误?我有点困惑,任何人都可以给我一个帮助吗?
答案 0 :(得分:2)
您使用的MultiFieldQueryParser.Parse
特定重载的documentation说明如下:
IllegalArgumentException
- 如果查询的长度,字段, 和flags数组不同。
我怀疑你得到了这个例外,因为你有一个查询和5个字段。如果这是您要使用的方法,则必须提供长度为五的查询数组。
你可能想要使用different parse overload,它只需要一个查询,但需要多个字段和标记。