用另一个替换 ID 会降低 Solr 的性能吗?

Replacing ID with another will degrade performance in Solr?

我正在使用 Solr 4.10.2。我已经构建了 indexed 文档。在 Schema.xml 中,我删除了 ID 字段并将其替换为 ngram 字段并制作ngram 字段作为 唯一键

我有一个问题 - 我什么时候会对 Solr 进行 search 查询。搜索性能有害吗?而且还会影响D文件缓存

不,我认为它不会影响 Solr 性能。当您将自己的字段定义为 uniqueKey 时,它将根据给定的键索引文档。我在我的一个项目中使用了相同的方法,我们使用 documentId 作为 uniqueKey。

使用 ngram 字段作为唯一键是一个非常糟糕的主意。唯一键字段不能是 "tokenized" 类型,否则多个单独的标记包含一个键,这将导致误报匹配。您应该仅将字符串或 int/long 字段类型用作唯一键的类型。

当然,性能也会受到一定程度的影响,因为 ngram 字段会创建许多标记而不是一个标记,但与误报和重复文档等其他问题相比,这可以忽略不计。