4
我使用了elasticsearch-dsl==5.2.0
,elasticsearch==5.3.0
和Django==1.8.15
。Elasticsearch_dsl中的整數字段範圍查詢
的Django模型:
class Item(models.Model):
price = models.DecimalField(default=0)
def to_search(self):
return DocItem(
meta={'id': self.id},
price=self.price
)
的DocType類:
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 <價格< = 5.0?
我在哪裏可以瞭解現有的過濾器類型,如' 'range''等PARAMS像'' gt'',''lte''?這是什麼語法? – tarasinf
https://elasticsearch-dsl.readthedocs.io/en/latest/search_dsl.html – Val
您也可以在https://www.elastic.co/guide/en/elasticsearch/上的官方文檔中看到完整查詢DSL。 reference/current/query-dsl.html – Val