【发布时间】:2016-10-10 11:19:18
【问题描述】:
我是 ElasticNoob,但我一直在玩一些简单的短语匹配,如下所示:
query: {
match_phrase: {
my_field: {
query: "silly dogs playing about",
slop: 100
}
}
}
但这仅匹配具有所有 4 个术语(silly、dogs、playing、about)的条目。理想情况下,它仍会匹配没有“about”关键字的“正在玩耍的傻狗”之类的内容(因此会获得较低的分数)。
这似乎是文本搜索引擎的一个非常常见的用例,所以我认为我的 Google-fu 一定很弱,因为我在弹性搜索中找不到任何关于部分短语匹配的信息。
有人可以在这里指出正确的方向吗?明确一点:
- 关键字的顺序很重要(
match_phrase和slop允许我们这样做) - 关键字匹配的个数很重要(
match_phrase只是在缺少任何个关键字时排除项目 - 这不适合我的情况)
谢谢!
【问题讨论】:
标签: elasticsearch full-text-search