在elasticsearch中,我们有两个字段:街道编号1和街道编号2。我们在Elastic
Search中还有一个Address字段,而Address是2个字段与其他一些字段的组合。因此,我们的地址为:
如果用户使用1610搜索,则应同时返回该地址。
有关如何形成查询的任何帮助?
想法是利用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
}
}
}
}
本文向大家介绍solr范围搜索,包括了solr范围搜索的使用技巧和注意事项,需要的朋友参考一下 示例 age:[50 TO 60] 匹配年龄在50和60之间(包括50和60)的文档 age:{50 TO 60} 匹配年龄在50到60之间(不包括50到60)的文档 age:[* TO 60] 匹配年龄小于或等于60的文档 age:[50 TO *] 匹配年龄大于或等于50的文档 age:{50 to
问题内容: 我正在尝试将范围查询与elasticsearch一起使用 但是弹性返回没有结果。我发现系统存在字符串包含或问题 这是该字段的映射: 问题答案:
问题内容: 我在elasticsearch中存储以下信息: 假设我还有另一个日期范围(例如,从用户输入中得出),我想搜索一个相交的时间范围。与此类似:确定两个日期范围是否重叠这概述了以下逻辑: 但是我不确定如何将其放入elasticsearch查询中,我会使用范围过滤器并且仅将“ to”值设置为,而将from留为空白吗?还是有一种更有效的方法? 问题答案: 更新:现在可以使用在elasticsea
是否可以在elasticsearch中更改范围聚合结果的排序?我在elasticsearch中有一个键控范围查询,并希望根据键而不是doc_count进行排序。 我的文件是: 和聚合查询: 此查询的结果是: 我想根据关键字对结果进行排序,而不是根据范围值。根据elasticsearch文档,无法指定排序顺序,当指定排序顺序时,我得到以下异常: 你有什么办法吗?谢谢!
问题内容: 我凝视着监视器已经太久了,不要问:我如何使用 Elastic Search PHP库* 执行 多个范围查询 ? * 我正在尝试根据 价格 标准(小于或大于)和类别内的 产品数量 (最少2个产品,仅2个产品,等等)查询我的索引。 虽然单独工作正常,但结合 我正在努力找到一个不错的近期示例,该示例涵盖ES v0.9之后的此场景,但在我的v1.4.2上却失败了。 问题答案: 您的回答是正确的
我试图构造一个ElasticSearch查询,但没有得到预期的结果。任何帮助都将不胜感激! 映射详细信息: null null 目前,每个嵌套的轮班文档都包含一个嵌套的calendarBlock文档,其中包含开始和结束日期时间字段,以及一个可以注册该轮班的最大志愿者人数字段。 查询 我试图构造的查询是经过筛选的查询。从Web上的窗体传入查询字符串。然后,我需要以编程方式将至少三个筛选器附加到这个查