请教一个 ElasticSearch 检索的问题

2020-03-18 11:17:36 +08:00
 RHxW

纯新手,问题可能有些弱智,希望大佬们见谅哈

是这样的,我的数据里有一个字段叫做 tags,是一个 array,里面有很多字符串 比如这样:


1. "tags": [ "landscape", "car red minivan", "human male", "human female" ]


2. "tags": [ "landscape", "car blue sedan", "sign red" ]


我想要实现,当搜索“car”+“red”的时候就把 1 这条数据搜索到(不搜到 2),搜索“car”+“blue”的时候搜索不到 1 但是能搜到 2

我用phrase可以通过“car red”检索出 1,但是“red car”就不行了,我希望这个顺序是可以随意组合的

请问这样该怎么做呢

872 次点击
所在节点    问与答
1 条回复
sadfQED2
2020-03-18 11:29:13 +08:00
设置成按空格分词呢,再试试 match 搜索看看效果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/653801

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX