您好,有一个应用程序将包含大量不同的元数据字段。 他们预计将有大约 5 000 - 10 000 个字段。
是否可以使用 lucene 一次搜索所有 thease 字段,而不将它们索引到一个字段中?
MultiFieldQueryParser 为每个单个字段生成一个查询,如果我没记错的话,默认 luecene 设置为一次大约 1000 个组合查询?
还有其他解析器可以搜索所有字段吗?
//特林德
最佳答案
不,如果您有多个字段并且想要搜索所有字段,那么您必须搜索所有字段。
理论上有no performance detriment搜索大量小字段与搜索一个大字段:
To put it another way: for standard disjunctive (OR'd) queries, the number of clauses doesn't really affect performance, except to the extent that more documents are potential matches
在实践中,您可能会遇到一些问题;我不知道。在假设您需要将它们全部索引到一个之前,我会尝试一下。
(子句的最大数量默认为 1024,但您可以通过 setMaxClauseCount 更改此设置。)
关于java - 通过 MultiFields lucene 进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10601886/