如何在Lucene中的Queryparser中传递多个字段?
我可以在 Lucene 的 Querparser 中传递多个索引字段吗? 我做了类似的事情
QueryParser queryParser = MultiFieldQueryParser.Parse(new[] { query }, new[] { "Name", "Description", "ExternalIdentifier", "OriginalFileName", "Text" }, new StandardAnalyzer());
queryParser.setDefaultOperator(QueryParser.Operator.AND);
但它显示一些错误?我有点困惑有人可以帮我吗?
Can i pass multiple index fields in a Querparser in Lucene?
I have done something like this
QueryParser queryParser = MultiFieldQueryParser.Parse(new[] { query }, new[] { "Name", "Description", "ExternalIdentifier", "OriginalFileName", "Text" }, new StandardAnalyzer());
queryParser.setDefaultOperator(QueryParser.Operator.AND);
But it shows some error? i am little bit confused can anybody give me a help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
文档用于特定重载您正在使用的
MultiFieldQueryParser.Parse
声明如下:我怀疑您遇到此异常,因为您有一个查询和 5 个字段。如果您要使用此方法,则必须提供长度为 5 的查询数组。
您可能想要使用不同的解析重载,它将采用单个查询但多个字段和标志。
The documentation for the specific overload of
MultiFieldQueryParser.Parse
that you are using states the following:I suspect you are getting this exception as you have one query and 5 fields. If this is the method that you want to use, you must provide an array of queries with a length of five.
You may want to use a different parse overload, which will take a single query but multiple fields and flags.