elasticsearch查询字符串

时间:2018-03-20 09:56:45

标签: elasticsearch

elasticsearch索引包含来自数据库的数据,其中_id设置为格式为

的主键
ACC000223344782

该键具有固定长度,并且在ACC之后具有0填充,如图所示。 需要搜索密钥以特定数字结尾的文档

一些示例用例

1-最后一位数是9

xxxxxxx9

2-第二个最后一个数字是3,最后一个数字是0到5之间

xxxxxx3[0>=5]

3-第3个最后一个数字在3到8之间,最后一个数字是4。

xxxxxx[3>=8]x4

你明白了。基本上是_id键的数字部分的随机部分。 为了解决这个问题,目前我已经将密钥手动拆分为单个数字,并在插入数据时作为另一个字段存储在文档中。这样,上面的键就变成了

_id: ACC000223344782,
split_key:
  0:A
  1:C
  2:C
  3:0
  4:0
  5:0
  6:2
  7:2
  8:3
  9:3
  10:4
  11:4
  12:7
  13:8
  14:2

然后我可以在split_key字段字符串索引上使用搜索查询。

这似乎更像是一个穷人的索引。 split_key字段完全是多余的,我有一种感觉,如果我以正确的方式使用elasticsearch,则不应该需要它。有人能指出我正确的方向,以改善这一点并优雅地处理上述场景吗?

0 个答案:

没有答案