字段元素数对索引/搜索性能的影响是什么?
我们有以下文档结构,其中一些文档具有多达400个字段元素。
我们已经看到solr服务器的CPU使用率上升并没有将问题与增加的元素相关联,但是想知道是否有人any analysis on the Solr performance vs # of field elements.
我们正在使用单个Solr服务器进行索引,也可以使用自动提交进行读取。
<add>
<doc>
<field name="id">User 4990</field>
<field name="type">User</field>
<field name="type">ActiveRecord::Base</field>
<field name="class_name">User</field>
<field name="id_i">4990</field>
<field name="login_s">someuser</field>
<field name="first_name_s">some</field>
<field name="last_name_s">user</field>
<field name="email_s">someuser@somecompany.com</field>
<field name="department_s">department-psg</field>
<field name="activated_b">true</field>
<field name="private_profile_b">false</field>
<field name="deleted_b">false</field>
<field name="followers_im">4834</field>
<field name="followers_im">4965</field>
<field name="followers_im">3</field>
<field name="followers_im">4291</field>
...
...
..
<field
..
<**400** such fields
..
</doc>
</add>
Solr版本:3.6.1,Cent OS 5.6上的Java 6
答案 0 :(得分:1)
这取决于您是在搜索所有字段以及您正在使用的运算符,存储在字段中的数据大小,如何在模式中定义字段以及您是仅搜索字段还是从中检索数据他们要展示。
一般来说搜索速度非常快,在我的架构中我有~100个字段。但是,效率低下的查询会降低速度。有关详细信息,请参阅the solr performance wiki。
根据我自己的经验,我可以告诉你,突出显示会受到你突出显示的字段数量的强烈影响,因为它会在每个结果文档的每个字段上运行,即大量的字段在实践中会给你二次复杂性。