Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql elasticsearch匹配两个字段_Sql_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Geolocation_Match - Fatal编程技术网 elasticsearch,geolocation,match,Sql,elasticsearch,Geolocation,Match" /> elasticsearch,geolocation,match,Sql,elasticsearch,Geolocation,Match" />

Sql elasticsearch匹配两个字段

Sql elasticsearch匹配两个字段,sql,elasticsearch,geolocation,match,Sql,elasticsearch,Geolocation,Match,如何在elasticsearch上运行这个简单的SQL查询 从[mytype]中选择*,其中a=-23.4807339和b=-46.60068 我对它的语法确实有问题,在我的情况下,多匹配查询不起作用,我应该使用哪种查询类型?您可以使用和过滤器来解决这个问题。举个例子,类似于: { "size": 100, "query" : {"filtered" : { "query" : {"match_all" : {}}, "filter" : {"and" : [

如何在elasticsearch上运行这个简单的SQL查询

从[mytype]中选择*,其中a=-23.4807339和b=-46.60068


我对它的语法确实有问题,在我的情况下,多匹配查询不起作用,我应该使用哪种查询类型?

您可以使用
过滤器来解决这个问题。举个例子,类似于:

{
  "size": 100,
  "query" : {"filtered" : {
    "query" : {"match_all" : {}},
    "filter" : {"and" : [
      "term" : {"a": -23.4807339},
      "term" : {"b": -46.60068}
    ]}
  }}
}
确保将查询指向正确的索引和类型。请注意,我任意将返回集的大小指定为100—您必须指定一个适合您的用例的值


有更多关于过滤查询的信息,也有更多关于
过滤器的信息。

对于像您这样的查询
bool
过滤器比
过滤器更受欢迎。了解这个建议的全部内容,以及为什么被认为更有效

话虽如此,我还是选择这样做:

{
  "query": {
    "filtered": {
      "filter": {
        "bool": {
          "must": [
            {"term": {"a": -23.4807339}},
            {"term": {"b": -46.60068}}
          ]
        }
      }
    }
  }
}

谢谢成功了!如果我想让它返回所有的值,有没有办法不使用很多查询就返回呢?@ViníciusMariano如果你要返回大量的文档,最好的办法可能是查看
滚动
功能(它与其他数据库技术中的游标有些相似)。这里有更全面的文档:这篇文章似乎过时了,它说“警告:这篇文章包含过时的信息。我们不再建议采纳它的建议”。如果你能更新你的答案,请告诉我