有关Elasticsearch查询优化/设计的一般问题

时间:2019-03-14 14:50:27

标签: elasticsearch elasticsearch-6

我有五个一般性的优化策略问题...

在某些情况下,我需要搜索多个字段(大约16到32)。字段如下所示:

  1. 数值数组。所有相应的搜索词必须匹配。我应该将值存储为关键字还是整数?
  2. 具有前面的属性ID的数字范围。在这里,让字段名称成为属性ID对我来说很有意义,例如“ a1:100”,其中a1 =属性#1。相应的搜索值必须重叠。这是执行此操作的最佳方法(即属性值范围设置)吗?
  3. 文本...这里没什么特别的。

我的第四个问题是:我可以生成属性ID的哈希并存储哈希。这样,具有匹配的属性哈希的文档将包含所有必需属性的可能性极高,从而使该断言和值需要验证。

哈希显然具有出色的基数。我的问题:这将有助于ES更快地找到匹配的文档吗?换句话说,具有稀有值的字段是否对其他字段值可能很常见的查询有帮助?

请记住,在第2点中,我使用属性ID作为字段名称,因此哈希可能无济于事。我仍然想知道价值稀有性是否有用。

最后,在潜在的数百万个文档中,几个字段将具有相同的值。最好将这些公共字段存储在单独的索引中,然后手动进行“连接”,即在公共字段匹配的地方查找“父” ID,并在“子”中使用此ID?

非常感谢!

0 个答案:

没有答案
相关问题