У меня есть индекс поиска товаров с полем «productOptions», который содержит сериализованный JSON, то есть он может содержать либо пустой массив для продуктов без опций, либо массив с опциями для продуктов с опциями продукта:
[]
[{ optionId: "", ... }]
Когда я пытаюсь выполнить запрос +productOptions: "[]"
в Luke (используя StandardAnalyzer), я не получаю никаких совпадений. У меня сложилось впечатление, что StandardAnalyzer будет искать не проанализированные поля, пока существует точное совпадение, поэтому я не понимаю, почему я не получаю никаких обращений. Однако, если я переключаюсь на KeywordAnalyzer, я делаю , получаю хиты, но не могу использовать KeywordAnalyzer, так как я запрашиваю параметры продукта как часть более сложного поискового запроса, который требует StandardAnalyzer.
Как мне написать запрос, который находит все товары без опций (т.е. productOptions == [])?
Примечание : я не контролирую процесс индексации, поэтому не могу контролировать индексируемые значения.