当前位置: 首页 > 知识库问答 >
问题:

弹性搜索-优先排序索引

唐兴发
2023-03-14

假设我有三个指数:城市、博物馆和景点。

现在我正在查询一个术语的所有索引\u all),例如“维也纳”

'query' :{
    'fuzzy' : {
        'name': 'vienna'
    }
}

作为结果,我得到:

  1. 维也纳:维也纳艺术博物馆(博物馆)

有没有办法优先考虑指数,这样我就可以得到第一个城市,而不是景点,最后是博物馆,就像这样:

  1. 维也纳(城市)
  2. 维也纳的Riesenrad(Sight)
  3. 维也纳:维也纳艺术博物馆(Museum)
  4. 维也纳:维也纳历史博物馆(Museum)

共有1个答案

劳彦
2023-03-14

您可以这样做,按所需顺序为每个索引添加一个提升:

{
  "query": {
    "bool": {
      "must": {
        "fuzzy": {
          "name": "vienna"
        }
      },
      "should": [
        {
          "term": {
            "_index": {
              "value": "cities",
              "boost": 3
            }
          }
        },
        {
          "term": {
            "_index": {
              "value": "sights",
              "boost": 2
            }
          }
        },
        {
          "term": {
            "_index": {
              "value": "museums",
              "boost": 1
            }
          }
        }
      ]
    }
  }
}
 类似资料:
  • 我需要对以搜索词开头的搜索结果进行优先级排序。我用了“匹配短语前缀”。我用了“匹配短语前缀”。但它不起作用。 细节: > 质疑 结果

  • 我有弹性搜索的问题。接缝搜索项在搜索结果中被隔离。 我们有一个使用弹性搜索索引的大型字幕数据库。然而,我们的搜索会在搜索词被隔离的地方对搜索结果进行优先排序。 Ie:搜索“吃”会产生: 哦,跳伞跳伞哦,我找到了疯狂饮食吃,吃传球,传球你们这些家伙真烂那是什么花样游泳 和 这是我的最后一晚,所以我们要像没有明天一样生活我想我只是想,吃点东西带上所有的食物,不管是麦当劳,还是冰淇淋。 我们需要INST

  • 主要内容:深度优先搜索(简称“深搜”或DFS),广度优先搜索,总结前边介绍了有关图的 4 种存储方式,本节介绍如何对存储的图中的顶点进行遍历。常用的遍历方式有两种: 深度优先搜索和 广度优先搜索。 深度优先搜索(简称“深搜”或DFS) 图 1 无向图 深度优先搜索的过程类似于树的先序遍历,首先从例子中体会深度优先搜索。例如图 1 是一个无向图,采用深度优先算法遍历这个图的过程为: 首先任意找一个未被遍历过的顶点,例如从 V1 开始,由于 V1 率先访问过了,所以

  • 我使用Elasticsearch允许用户输入要搜索的术语。例如,我要搜索以下属性'name': 如果使用以下代码搜索或,我希望返回此文档。 我尝试过做一个bool must和做多个术语,但它似乎只有在整个字符串都匹配的情况下才起作用。 所以我真正想做的是,这个词是否以任何顺序包含两个词。 有人能帮我走上正轨吗?我已经在这上面砸了一段时间了。

  • 我如何对键上的elasticsearch聚合桶进行排序。我有嵌套的聚合,想对我的第二个聚合桶结果进行排序。 就像我有: 我希望我的< code >事件聚集桶在关键< code >印象或< code >页面视图上按desc/asc排序。我如何实现这样的结果集? 这是我的查询 我试过使用_key,但它在桶内排序。我想通过查看所有桶来排序。就像我有一个键。我希望我的桶结果用这个键排序。不在桶内。 我希望

  • 本文向大家介绍深度优先搜索,包括了深度优先搜索的使用技巧和注意事项,需要的朋友参考一下 图遍历是按某种系统顺序访问图的所有顶点的问题。遍历图主要有两种方法。 广度优先搜索 深度优先搜索 深度优先搜索(DFS)算法从顶点v开始,然后遍历到之前未访问过的相邻顶点(例如x),并将其标记为“已访问”,然后继续处理x的相邻顶点,依此类推。 如果在任何一个顶点上遇到所有相邻顶点都被访问过,则它将回溯直到找到具