【发布时间】:2015-09-25 00:55:06
【问题描述】:
我正在尝试在elastic search 服务器中进行搜索。
以下是我的情况:
给搜索 API 一个术语 "Hello World",将所有文档返回给我
与:
- 精确模式“Hello World”
- “你好”和“世界”
- “你好”或“世界”
我想在一个查询中完成上述操作。我知道所有这些都可以单独使用 match_phrase 和 default_operator 来完成 OR/AND。 但我希望这三个都在一个查询中完成。
我希望根据相关性对结果进行排序。因此,如果文档包含确切的短语,则它是最相关的。如果文档在其中的某个位置同时包含单词 (AND),则它是中等相关的。如果文档中至少包含一个单词 (OR),则它的相关性最低。
现在弹性搜索有可能吗?
【问题讨论】:
-
由于
1)和2)是3)的子集,我猜你想在一个查询中得到三个不同的结果,这是你想要的吗?我不确定这是否可以做到。您可以添加某种形式的所需输出吗? -
MarioTrucco:嗨,马里奥。我希望根据相关性对结果进行排序。因此,如果文档包含确切的短语,则它是最相关的。如果文档在其中的某个位置同时包含单词 (AND),则它是中等相关的。如果文档包含至少一个单词(OR),则它是最不相关的。另外,我想知道,默认情况下,弹性搜索将在令牌之间执行 OR。对吧??
-
请编辑包含此信息的帖子,因为它并不明显(至少对我而言),而且不是每个人都阅读 cmets。我想我有答案了,我会在今天晚些时候发布
标签: elasticsearch