How can I encode array "contains" functionality in the HTTP json api?

HTTP JSON API is quite tricky here, I have the tags json array, query:

{
	"index": "games",
	"query": {
		"match": {"*": "tsukihime"}
	}
}

response:

{
	"took": 2,
	"timed_out": false,
	"hits": {
		"total": 1,
		"total_relation": "eq",
		"hits": [
			{
				"_id": "1",
				"_score": 1727,
				"_source": {
					"title": "Tsukihime",
					"description": "Silly game from silly studio",
					"author": "type-moon",
					"users_rating_sum": 3.000000,
					"users_rated": 1,
					"time_to_read_hours": 50,
					"published_at": 2023,
					"tags": [
						"ac0d9529b81837ea0714e8dc9fdafbcd",
						"c66bedf8217ab20c165641471d8122ab",
						"86b962b99af79dd32a421ce3af7aa1ec"
					],
					"genres": []
				}
			}
		]
	}
}

What should I do if I want to exclude all matches with tags containing array ["ac0d9529b81837ea0714e8dc9fdafbcd", "86b962b99af79dd32a421ce3af7aa1ec"]? Or “Exclude all matches with these tags” alternatively

@tags ![whatever you want to exclude]

I suggest reading up on the operators, beginning with negation: Manticore Search Manual: Searching > Full text matching > Operators

Yeah, that requires me to define tags field as the text. This would definitely work, but seems to be hacky. tags is the array, array of type JSON in the table

you could use must_not operator Manticore Search Manual: Searching > Filters or select list expression not in Manticore Search Manual: Functions > Arrays and conditions functions

Thanks, can you provide me an example of “IN” usage in the JSON API query?

here it is

json/search
Status: 200
POST 
{
  "index":"test_rt1",
  "query":
  {
    "bool":
    {
      "must_not":
      [
         { "in": { "str_col": ["str4","str5"] } }
      ]
    }
  }
}
reply
{
    "timed_out": false,
    "hits": {
        "total": 2,
        "total_relation": "eq",
        "hits": [
            {
                "_id": "101",
                "_score": 1,
                "_source": {
                    "title": "101th",
                    "str_col": "STR"
                }
            },
            {
                "_id": "102",
                "_score": 1,
                "_source": {
                    "title": "102th",
                    "str_col": "str"
                }
            }
        ]
    }
}

It doesn’t looks like what I meant, you’re checking for equality. Your query will check if str_col is equals to str4 or str5, I need to check whether array (tags) have mutual elements with the other array - if it is, skip this record. In postgres I can translate this by something like
WHERE NOT (tags && $TAGS_TO_EXCLUDE).
UPD: Sorry for late condition update, in the topic starter post I said that I need “contains” functionality (tags @> $MY_ARRAY), this will be needed too.

If I’m not mistaken, it’s impossible to compare arrays in Manticore to check if one array is/is not a subset of another array. Or we need to update the docs to make it clear how to do it. Either way, feel free to create a feature request on GitHub, the dev team them will discuss it and will decide how to address it.