弹性搜索-条件字段查询,如果找不到其他字段的匹配项

时间:2019-10-02 11:48:20

标签: elasticsearch

如果找不到其他字段的匹配项,是否可以进行条件字段查询?

例如:如果我在索引local_rating,global_rating和default_rating中有3个字段,我需要首先签入local_rating,如果没有匹配项,则尝试使用global_rating,最后尝试使用default_rating。

这可能与一个查询有关吗?或任何其他方式来实现这一目标

预先感谢

1 个答案:

答案 0 :(得分:0)

不确定Elasticsearh的任何现有功能是否可以满足您当前的要求,但是您可以尝试使用字段和逐字段增强功能,可以使用插入符号(^)来增强单个字段。我也不知道数字值是否可以提升?

 GET /_search
 {
  "query": {
  "multi_match" : {
   "query" : 10,
    "fields" : [ "local_rating^6", "global_rating^3","default_rating"] 
   }
  }
}

请参见https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-multi-match-query.html#field-boost