用另一个替换ID会降低Solr的性能吗?
问题描述:
我正在使用Solr 4.10.2。我已经建立索引文件。在Schema.xml的,我已删除ID领域,取而代之的是与NGRAM领域并取得NGRAM字段作为唯一键。用另一个替换ID会降低Solr的性能吗?
我有一个问题 - 当我会做搜索查询Solr。将搜索伤害的性能?而且它也会影响D 主机缓存。
答
使用NGRAM字段作为唯一键是一个非常糟糕的主意。唯一的关键字段不能是“标记化”类型,否则多个单独的标记包含导致错误肯定匹配的关键字。您应该只使用字符串或int/long字段类型作为唯一键的类型。
当然,性能也有所影响,因为NGRAM领域创造了许多标记,而不是一个,但相比于其他问题,如误报那简直是微不足道的,重复的文档。
答
不,我不认为这会影响Solr的性能。由于您将自己的字段定义为uniqueKey,因此它将基于给定密钥对文档编制索引。我用我的项目中的一个我们使用documentId作为uniqueKey的同一批处理。
我没有使用ngram字段。 ngram只是该字段的名称,其字段类型是字符串。您正在以错误的方式检查问题。所以,告诉我它会降低性能 – iNikkz
不,使用任何其他字符串字段并不重要。无论uniqueKey字段被调用的性能如何。 – Shalin
我非常抱歉'@ Shalin'。实际上,我的ngram字段不是字符串类型。我已经定义自己的字段类型= “textSpell”,其中包含2行' '&''。现在,Plz告诉我它是否会降低性能? –
iNikkz