想法是利用
range数据类型并将最小和最大街道号存储在该字段中。
在映射中,您将具有以下内容:
PUT property_index{ "mappings": { "_doc": { "properties": { "street_number_range": { "type": "integer_range" }, "street_name": { "type": "text" } } } }}
PUT property_index/_doc/1{ "street_number_range" : { "gte" : 1604, "lte" : 1612 }, "street_name": "Calver Building"}PUT property_index/_doc/2{ "street_number_range" : { "gte" : 1608, "lte" : 1645 }, "street_name": "Park House"}
最后,您的查询将如下所示,并且将返回两个文档
GET property_index/_search{ "query" : { "term" : { "street_number_range" : { "value": 1610 } } }}
更新
您还可以使用以下查询搜索范围:
GET property_index/_search{ "query" : { "range" : { "street_number_range" : { "gte": 1600, "lte": 1650 } } }}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)