我有一个产品搜索索引,其中包含一个包含序列化 JSON 的字段“productOptions”,这意味着它可能包含没有选项的产品的空数组,或者包含产品选项的产品选项的数组:
[]
[{ optionId: "", ... }]
当我在 Luke 中尝试查询+productOptions: "[]"
时(使用 StandardAnalyzer),我没有得到任何匹配。我的印象是,只要有完全匹配,StandardAnalyzer 就会搜索未分析的字段 - 所以我不明白为什么我没有得到任何点击。但是,如果我切换到 KeywordAnalyzer,我确实会得到点击,但不能使用 KeywordAnalyzer,因为我正在查询产品选项作为需要 StandardAnalyzer 的更复杂的搜索查询的一部分。
如何编写一个查询来查找所有没有选项的产品(即 productOptions == [])?
注意:我无法控制索引过程,所以我无法控制被索引的值。