当前位置: 首页 > 面试题库 >

ElasticSearch如何设置geo_point

微生毅
2023-03-14
问题内容

我正在尝试在ES 1.0.0上设置geo_point对象,并对它运行简单的概念证明查询,但是查询无法返回任何匹配。这是我的设置步骤:

1)创建映射:

PUT jay/geotest/_mapping
{
    "geotest" : {
        "properties" : {
            "name" : {
                "type" : "string"
            },
            "pin" : {
                "type": "geo_point"   
            }
        }
    }
}

2)验证映射:

GET jay/geotest/_mapping

3)添加一条数据

put jay/geotest/1
{
   "name": "test1",
   "pin": {
      "lat": 0,
      "lon": 0
   }
}

4)查询该数据:

GET jay/geotest/_search?search_type=count
{
    "filtered" : {
        "filter" : {
            "geo_distance" : {
                "distance" : "100km",
                "pin" : {
                    "lat" : 0,
                    "lon" : 0
                }
            }
        }
    }
}

我的预期结果是,我将返回一击,但查询未返回任何内容。

提前致谢!


问题答案:

我认为您缺少请求的“查询”部分。

POST jay/geotest/_search
{
   "query": {
      "filtered": {
         "filter": {
            "geo_distance": {
               "distance": "100km",
               "pin": {
                  "lat": 0,
                  "lon": 0
               }
            }
         }
      }
   }
}

我刚刚测试了您的步骤,然后进行更改返回了文档。



 类似资料:
  • 问题内容: 我当前的光泽配置设置如下所示: 并且想知道如何删除设置的 “ max_bytes_per_sec” 部分。 你能给我一个建议吗? 问题答案: 好的。我发现了如何删除持久性设置:您转到主节点的已定义数据路径,更具体地说(在我的情况下),然后删除全局状态文件。然后重新启动elasticsearch。

  • 问题内容: 我有几个关于客户端节点的Elasticsearch问题: 我可以说:任何节点只要打开HTTP端口,我都可以将它们视为“客户端”节点,因为我们可以通过该节点进行搜索/索引。 实际上,当和时,我们将节点视为客户端节点,如果我设置了10个客户端节点,是否需要在客户端进行路由,这意味着如果我在代码 中将clientOne:9200 指定为ES门户,则 clientOne会 转发其他HTTP请求

  • 问题内容: 我在elasticsearch中有一个很大的术语查询,所以我得到 我试图通过在elasticsearch.yml中增加它 和通过 但没有任何效果。我的索引名为塑料。 问题答案: 背景 注意: 此答案中给出的建议仅适用于5.5以下的Elasticsearch版本。所描述的方法引用的属性最终在5.5中被删除。 搜索设置 该设置已被删除。为了设置最大数目的布尔子句, 应改为使用。 参考-5.

  • 问题内容: 我有一个使用elasticsearch-jetty项目的嵌入式Elasticsearch,并且我需要设置为比默认值更好地使用标记器。我想使用关键字标记器。 我一辈子都想不通如何通过配置文件来做到这一点。谁能指出我通过配置文件执行此操作的方法? 顺便说一句,是否可以通过对索引执行POST来在启动和运行时调整索引?我真的很想了解如何使用它,谢谢。 编辑/更新:我在将curl -XPUT或-

  • 问题内容: 我正在使用ElasticSearch 1.5.2,希望具有以下设置: 我应该在哪里添加它们?我的意思是在创建索引之前还是之后? 通过在线搜索,我发现了一些类似的方法 但是我有2个问题, 我收到编译错误:ImmutableSettings.builder类型的方法loadFromSource不适用于参数XContentBuilder 另外,我不知道如何将我的设置转换为这种格式。在哪里可以

  • 问题内容: 我最近一直在尝试用Elasticsearch在Rails上使用ruby。我在为数据编制索引时遇到麻烦,因此我可以搜索带有复数和非复数关键字的项目。 Tire将允许我为每个映射属性分配一个分析器: 现在,假设我在“测试”标题中有一个关键字 如果我使用查询中的属性进行搜索: http:// localhost:9200 / myindex / mymapping / _search?q =