gpt4 book ai didi

elasticsearch - Elasticsearch 中的位数组使用和过滤

转载 作者:行者123 更新时间:2023-11-29 02:56:06 25 4
gpt4 key购买 nike

我有一个位数组。我想根据某些位是开还是关进行过滤。查看 Elasticsearch 2.3 文档,我没有看到任何关于位数组的信息。

但我似乎可以使用 bool 数组或二进制字段。

例子:假设我有 2 个文档,每个文档都有一个位数组字段。 Doc1 在该字段中有 011100,Doc2 有 00001。我想按 011000 过滤,在这种情况下只提供 Doc1。

知道如何在 Elasticsearch 中执行此操作吗?

谢谢。

编辑:另一个想法:

如果我将位数组转换成许多 Bool 字段,那么它就可以工作。该文档可能看起来很丑陋,但它确实有效。基本上如果位数组是 32 位,那么我将有 32 个 bool 字段。这是实现它的最佳方式吗?

最佳答案

如果您可以将其更改为包含已设置的位索引的数组。即 011100 将是 [ 1 , 2 ,3 ] 然后使用 terms 查询来执行 must 查询 and

示例:

a)  document with "111" 

put test/test/1
{
"bit_position" : [
1,
2,
3
]
}

b) document with 010
put test/test/2
{
"bit_position": [
2
]
}

c) or-ing with 101

post test/_search
{
"query": {
"terms": {
"bit_position": [
1,
3
]
}
}
}

关于elasticsearch - Elasticsearch 中的位数组使用和过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39110962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com