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

Elasticsearch查询带有路由提供部分结果的别名

严峰
2023-03-14

现在,

我还创造了一些别名-

"tenant" : {
"aliases" : {
  "tenant_1" : {
    "index_routing" : "1",
    "search_routing" : "1"
  },
  "tenant_2" : {
    "index_routing" : "2",
    "search_routing" : "2"
  },
  "tenant_3" : {
    "index_routing" : "3",
    "search_routing" : "3"
  },
  "tenant_4" : {
    "index_routing" : "4",
    "search_routing" : "4"
  }

我添加了一些tenantId=2的数据

我确信路由应该查询tenantId=2的文档所驻留的所有碎片。

共有1个答案

邓声
2023-03-14

当您在elasticsearch中创建了别名时,您必须只使用别名执行所有操作。无论是索引、更新还是搜索。

再次尝试重新编制数据索引,如果可能的话进行检查(如果是测试索引,希望如此)。

删除所有索引。

curl -XDELETE 'localhost:9200/' # Warning:!! Dont use this in production.
                                  Use this command only if it is test index.
 类似资料:
  • 我有一个字段,使用空白标记器和小写和asciifolding过滤器进行分析。我试图运行一个同时包含前缀和通配符的查询。我们正在用ElasticSearch取代一个使用纯Lucene的本土搜索引擎,类似的查询确实使用Lucene语法,但在ElasticSearch中不起作用。 例如,该查询将查找在“name”字段中有“Smith John”的所有文档。 如果我省略引号,我会得到结果,但这包括在同一文

  • 考虑以下问题: 我在我们的一个系统中有这个查询,我想知道这个查询是否准确。确切地说,我的意思是,只有带有和的文档才应该返回,但决不能只返回一个单词、类似单词或根本没有匹配单词的文档。 RTFM。也许我读错了,但我没有找到这个问题的参考。 弹性5.6.3。 上述模拟的查询是否准确,这意味着它将仅使用与严格匹配的文档?

  • 这是我索引中的文档(也可以有几个): 从逻辑上讲,我试图建立这个条件: 我的问题(来自kibana): 我正在与上述范围内的字段的范围查询与上面的其他字段进行比较。但没有得到任何命中!我想检索具有在给定和日期。 在这个领域很缺乏经验,不知道为什么不起作用!请帮助如何修复此查询以做到这一点?

  • 我遇到了一些实际的问题,比如使用字段增强来处理ElasticSearch。我已经看过关于这个主题的Nest文档,但它们没有特别大的帮助,所以我的代码实际上是基于这个问题的解决方案:使用Nest Field Boosting进行弹性搜索。 如果运行以下查询,我会得到一个结果,正如预期的那样: 然而,如果我尝试使用场增强,使用以下方法,我没有得到匹配: .OnFieldsWithBoost(d=>d.

  • 我正在制作一个基于ElasticSearch的电子商务产品目录原型。每个产品都作为文档编制索引(包含名称和描述等属性)。 有一件事我不能解决,我想根据用户的购买历史提高某些产品的分数。 我能想到的唯一选择是将购买历史记录存储为产品的子文档。然后使用custom\u filters\u score和过滤器,该过滤器查找具有给定用户ID的子文档。在这种情况下,过滤器确定给定的产品是否已被给定的用户购买

  • 我有一张产品表。我需要展示所有的产品。我在不同的条件下获取结果。 我需要像这样展示结果 所有结果都应以分页方式显示。如果我先得到结果就可以了。但是如果我使用分页链接,所有条件数据都将丢失,查询将不带任何条件地获取结果。我如何处理这种情况。请我不需要代码,我需要提示和建议。另一件事是我正在使用Codeigniter的分页类。 编辑过 这是我正在使用的模型方法