gpt4 book ai didi

python - 使用 python_dsl 在 elasticsearch 中查询数组数据类型

转载 作者:太空狗 更新时间:2023-10-29 21:57:55 25 4
gpt4 key购买 nike

整数数组数据类型的查询有多复杂?这是我在 python 中将数据注入(inject) elasticsearch 的类:

class Paragraph(DocType):
body = Text(analyzer="standard")
published_from = Date()
lines = Integer()
n_paragraph = Integer()
capture = Integer()

class Meta:
index = "my_index"

def save(self, **kwargs):
self.lines = len(self.body.split())
return super(Paragraph, self).save(**kwargs)

我在捕获中注入(inject)了一个整数数组。这是有趣的一行:

paragraph.capture = [1, 0, 5, 7]
  1. 我设法查询列表中是否有数字::
    cnx = Search().using(客户端)
    s = cnx.query("匹配", capture=5)

  2. 正如@Val所说,我们可以添加另一个包含总和的字段来查询总和

如何查询特定索引,例如paragraph.capture[1] >= 1 ?

我们看到 Elasticsearch query on array index是相关的,但我无法建立链接。

最佳答案

查询总和的最佳方法是添加另一个包含它的字段,这样您就不必在搜索时运行代价高昂的脚本查询。

查询是否至少有一个数字大于 4 已经可以通过 capture 字段上的普通 range 查询来完成。

关于python - 使用 python_dsl 在 elasticsearch 中查询数组数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46037330/

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