Hi
I’m looking at migrating from Sphinx 3.1.1 to Manticore 4.2.0. I have json array data used as a filter attribute, but Manticore doesn’t support the expression I use in Sphinx.
The Working with JSON attributes
interactive course can be used to show the problem. If I create the testjson rt index, but with simpler metadata (similar format to mine);
id | name | metadata
1 | Product 1 | {“color”:[“blue”,“black”,“yellow”]}
2 | Product 2 | {“color”:[“white”,“black”,“blue”]}
3 | Product 3 | {“color”:[“black”]}
4 | Product 4 | NULL
In Sphinx I can query
select id from testjson where metadata.color in (‘yellow’, ‘white’);
and I will get id 1 and 2 back as result.
Same query in Manticore gives me an error;
ERROR 1064 (42000): index testjson: this filter type on expressions is not implemented yet
I do understand after using the json attributes course that in both Sphinx and Manticore I can query
select id,IN(metadata.color, ‘yellow’,‘white’) as color_filter from testjson where color_filter=1;
Is the expression style that Sphinx supports likely to be implemented in Manticore? I can re-write my search code to use the IN(expr, val1, val2...) as alias
style, just the Sphinx implementation seems simpler and closer to sql syntax
thanks