您好,有一个应用程序将包含大量不同的元数据字段。他们预计会有大约 5 000 - 10 000 个字段。
是否可以使用 lucene 一次搜索所有这些字段,而不将它们索引到一个字段中?
MultiFieldQueryParser 为每个单个字段生成一个查询,如果我没记错的话,默认 luecene 一次设置为大约 1000 个组合查询?
是否有任何其他解析器可以搜索所有字段?
//三连
您好,有一个应用程序将包含大量不同的元数据字段。他们预计会有大约 5 000 - 10 000 个字段。
是否可以使用 lucene 一次搜索所有这些字段,而不将它们索引到一个字段中?
MultiFieldQueryParser 为每个单个字段生成一个查询,如果我没记错的话,默认 luecene 一次设置为大约 1000 个组合查询?
是否有任何其他解析器可以搜索所有字段?
//三连
不,如果您有多个字段并且想要全部搜索它们,那么您将不得不全部搜索它们。
从理论上讲,搜索大量小字段与搜索一个大字段不会对性能造成损害:
换句话说:对于标准析取(OR'd)查询,子句的数量并不会真正影响性能,除非更多文档是潜在的匹配项
在实践中,您可能会看到一些问题;我不知道。不过,在假设您需要将它们全部索引为一个之前,我会尝试一下。
(默认情况下,最大子句数为 1024,但您可以通过setMaxClauseCount更改。)