Let's assume that our data which we use to calculate faceting can be considered to have low distinct values. For example, we have an e-commerce shop with millions of products – clothes. Each document in our index, apart from name and price, is also described by additional information – target size. So, we have values such as XS, S, M, L, XL, and XXL (that is, six distinct values), and each document can only be described with a single value. In addition to this, we run field faceting on that information and it doesn't work fast by default. This recipe will show you how to change that.
The following steps will explain how we can improve faceting performance for low cardinality fields:
Let's begin with the following index structure (add the following entries to your
schema.xml
fields section):<field name="id " type="string" indexed="true" stored="true" required="true" /> <field name="name " type="text " indexed...