Open sanikolaev opened 6 months ago
not quite sure about array of float as if it work similar to mva there is no point to store individual float values and build index for every value
if float vector used for knn there no need to add SI for that type
The task to document this is https://github.com/manticoresoftware/manticoresearch/issues/2348
Reopening to update OpenAPI yaml, so it's possible to control creating secondary indexes via clients.
The task is to implement secondary indexes for JSON.
We made a research of performance issues of one Manticore Search users and we have determined that the key to enhancing the queries performance lies in utilizing secondary indexes for JSON attributes. This necessitates partial JSON flattening. In order to proceed, we need to design and implement the following features:
in(xx_sph_attr_xxattributes['9xxxxxxc704d781733bxxxxxxxx0'], 'xonxtixe') as col_1)
"xx_sph_attr_xxattributes['9xxxxxxc704d781733bxxxxxxxx0']" -> “xx_sph_attr_xxattributes.9xxxxxxc704d781733bxxxxxxxx0"
select *, any(x >= 1 and x <= 2 for x in xx_sph_attr_xxattributes['2443xxxxxxxxb76xxxxxxxxxxxxc4d']) a from test where a>0
will need to become:select * from test where any(xx_sph_attr_xxattributes.2443xxxxxxxxb76xxxxxxxxxxxxc4d) between 1 and 2
xx_sph_attr_xxattributes.2443xxxxxxxxb76xxxxxxxxxxxxc4d
exists in SI and JSON expression can be translated into an attribute filterIn summary, we will dynamically generate secondary indexes for JSON keys, which will then serve as shortcuts to bypass most documents when filtering using these keys.