如何在 SphinxQL 中过滤 JSON?

How to filter JSON in SphinxQL?

我有一个带有简单数字数组的 JSON 字段

[46,70,34]

如何过滤查询,仅选择 JSON 字段中存在的行,比如“70”?类似于 MySQL 中的 JSON_CONTAINS。

我已经试过了

SELECT id, name, IN(tags, '70') AS c FROM index WHERE c = 1;

SELECT id, name, ALL(var='70' FOR var IN tags) as c FROM index WHERE c=1;

但是没用。

其实想想...

SELECT id, name FROM index WHERE tags = 70;

应该可以。 JSON 个数组,最终工作 'like' 个 MVA。

否则,您需要 ANY()(而不是 ALL()),因为 JSON 数组中只有 一个 的值是70 个,不是全部(例如 46 个不匹配!)

SELECT id, name, ANY(var=70 FOR var IN tags) as c FROM index WHERE c=1;

(最后是数值,不应该被引用!)