Why does IntPointField has poor performance compared to TrieIntField?
I have setup solr 8.7.0 in standalone mode, added core 1 and core 2 and indexed 100M documents each and ran did field facet like below:
facet.field=employee_ids&facet.field=employee_serial_numbers
The multivalued field definitions in core 1 are like below:
<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"/>
- default facet.method is fcs
- Qtime remains the same (~6000 ms) whether I do field facet, twice or n times for the above 2 fields
The multivalued field definitions in core 2 are like below:
<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"/>
- default facet.method is fc
- Qtime decreases after the first field facet call on the above 2 fields.
TrieIntField is deprecated and should be avoided.
Which faceting style are you trying?
old faceting is quite slower as compared to new json facet api : Please refer https://yonik.com/json-facet-api/
and
https://solr.apache.org/guide/8_7/json-facet-api.html