2

您好,有一个应用程序将包含大量不同的元数据字段。他们预计会有大约 5 000 - 10 000 个字段。

是否可以使用 lucene 一次搜索所有这些字段,而不将它们索引到一个字段中?

MultiFieldQueryParser 为每个单个字段生成一个查询,如果我没记错的话,默认 luecene 一次设置为大约 1000 个组合查询?

是否有任何其他解析器可以搜索所有字段?

//三连

4

1 回答 1

2

不,如果您有多个字段并且想要全部搜索它们,那么您将不得不全部搜索它们。

从理论上讲,搜索大量小字段与搜索一个大字段不会对性能造成损害:

换句话说:对于标准析取(OR'd)查询,子句的数量并不会真正影响性能,除非更多文档是潜在的匹配项

在实践中,您可能会看到一些问题;我不知道。不过,在假设您需要将它们全部索引为一个之前,我会尝试一下。

(默认情况下,最大子句数为 1024,但您可以通过setMaxClauseCount更改。)

于 2012-05-16T19:10:09.287 回答