Selecting data from JSON with using MATCH

I’ve examined your course called “Working with JSON attributes”. Suppose my JSON format is the following:

image

Is there a way to return in query results only those IDs from this JSON where condition MATCH(‘@lang EN’) is applied? Or maybe indexes, like set.1 is matched.

The MATCH() full text query only matches against Fields. Not attributes.

But can run queries against attributes including JSON. Syntax is a bit convoluted, would be something like

SELECT id, ANY(x.lang = 'EN' FROM x IN lang.set) AS islang FROM index
  WHERE MATCH('...') AND islang=1;

Becused needing to look inside what looks like a variable lenght array.

Thank you for the reply!

How to use this as json ? Can you please make it json and share here

How to use this as json ? Can you please make it json and share here

Just use ANY(x.lang = 'EN' FROM x IN lang.set) in expressions or script_fields.