我的模型有一个标签字段,它是一个标签数组。我遇到的问题是我希望标签像关键字一样工作,但是 ES 以某种方式将它们分成空格以进行分面。
映射是:
indexes :tags, type: :array
热门标签的查询是:
tire.search do
facet 'tags' do
terms :tags, size: 100
end
end
现在结果是单个单词。例如,标签为 ["retro music", "awesome"] 的唱片最终将具有三个单独的标签。同样,如果我对“复古音乐”(must { term 'tags', options[:tag] }
)进行查询,那将失败,而对“复古”或“音乐”的查询将成功。这里期望的行为是标签应该是原子的,所以只有“复古音乐”(或“真棒”)标签搜索应该成功。