0

为什么 IntPointField 与 TrieIntField 相比性能较差?

我已经在独立模式下设置了 solr 8.7.0,添加了核心 1 和核心 2,并分别索引了 100M 个文档并运行了如下所示的字段方面:

facet.field=employee_ids&facet.field=employee_serial_numbers

核心 1 中的多值字段定义如下:

<field name="employee_ids" type="pints" multiValued="true" indexed="true" required="false" stored="true" docValues="true"/>
<field name="employee_serial_numbers" type="pints" multiValued="true" indexed="true" required="false" stored="true" docValues="true"/>

<fieldType name="pint" class="solr.IntPointField" docValues="true"/>
  • 默认 facet.method 是 fcs
  • Qtime 保持不变(~6000 毫秒),无论我是否对上述 2 个字段进行字段分面、两次或 n 次

核心 2 中的多值字段定义如下:

<field name="employee_ids" type="tint" multiValued="true" indexed="true" required="false" stored="true"/>
<field name="employee_serial_numbers" type="tint" multiValued="true" indexed="true" required="false" stored="true"/>

<fieldType name="tint" class="solr.TrieIntField"/>
  • 默认 facet.method 是 fc
  • Qtime 在上述 2 个字段的第一次字段方面调用后减少。
4

1 回答 1

0

TrieIntField 已弃用,应避免使用。

您正在尝试哪种刻面样式?

与新的 json facet api 相比,旧的 faceting 相当慢:请参考 https://yonik.com/json-facet-api/

https://solr.apache.org/guide/8_7/json-facet-api.html

于 2021-12-24T14:52:46.173 回答