gpt4 book ai didi

django - 通过整数字段在 Elasticsearch_dsl 中进行范围查询

转载 作者:行者123 更新时间:2023-11-29 02:49:32 24 4
gpt4 key购买 nike

我使用了 elasticsearch-dsl==5.2.0elasticsearch==5.3.0Django==1.8.15

Django 模型:

class Item(models.Model):
price = models.DecimalField(default=0)

def to_search(self):
return DocItem(
meta={'id': self.id},
price=self.price
)

文档类型类:

class DocItem(DocType):
price = Integer()

FacetedSearch 类:

class ItemSearch(FacetedSearch):
index = 'item'
doc_types = [DocItem, ]
fields = ['price']

当我需要搜索所有 price == 5.0 的项目时,我会执行以下操作:

search = ItemSearch().search()
result = search.filter('match', price=5.0).execute()

问题:

如何搜索价格在 1.0 < price <= 5.0 范围内的所有商品?

最佳答案

你可以这样做:

search = ItemSearch().search()
result = search.filter('range', price={'gt': 1, 'lte': 5.0}).execute()

关于django - 通过整数字段在 Elasticsearch_dsl 中进行范围查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43368586/

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