小编Léo*_*Léo的帖子

刚刚POST后,Elasticsearch GET

我在get_or_create向ES 执行多个请求时遇到了一些问题.Elasticsearch在响应POST索引文档后似乎需要一些时间,以至于刚刚GET调用没有返回任何结果.

此示例重现了此问题:

curl -XPOST 'http://localhost:9200/twitter/tweet/' -d '{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elastic Search"
}' && \
curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}' && \
sleep 1 && \
curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}'
Run Code Online (Sandbox Code Playgroud)

POST得好:

{
    "ok": true,
    "_index": "twitter", …
Run Code Online (Sandbox Code Playgroud)

elasticsearch pyes

10
推荐指数
1
解决办法
1716
查看次数

不要在HTTP重定向上传播标头

我有在亚马逊S3上托管的文件,我想在我的应用程序中进行处理后下载它们.此应用程序视图需要HTTP Authorization标头才能继续.这是过程:

  1. /file/xxx带有所需Authorization请求标头的查询视图
  2. 如果授予应用访问权限,请做一些处理
  3. 生成已签名的S3网址,然后重定向到该网址

事实是请求标头也在重定向上传播,并且与Amazon的S3签名冲突,我有以下错误消息:

应指定签名查询字符串参数或授权标头,而不是两者

那么,有没有办法不将Authorization标头传播到S3?

请注意,我已经测试了所有3xxHTTP代码.提前致谢.

django redirect http amazon-s3 http-headers

6
推荐指数
1
解决办法
773
查看次数

Elasticsearch过滤取代PostGIS过滤?

我想完全转移elasticsearch以使用PostGIS扩展来过滤PostGreSQL当前处理的元素.

为此,我必须选择围绕(多)多边形的给定距离内的每个结果.
那些多边形可能很复杂(数百个点).

我在一年前看到,elasticsearch无法处理这样的过滤器.
在一年中,ES已经有了很大的发展(包括一个主要版本),那么现在支持的那种过滤是什么?如果没有,有什么计划吗?


为了解释,这是一个简单的用例:
将此多边形视为粗略描述巴黎"Ile delacité"边界:

{
  "type": "MultiPolygon",
  "coordinates": [
    [
      [
        [
          2.339546203568933,
          48.857710541463412
        ],
        [
          2.345168113663295,
          48.856750530470009
        ],
        [
          2.350618362380806,
          48.855056348509926
        ],
        [
          2.352077484084764,
          48.853785674412812
        ],
        [
          2.352592468215498,
          48.851611335037532
        ],
        [
          2.348730087234629,
          48.852543206332619
        ],
        [
          2.343194007828603,
          48.855084585345963
        ],
        [
          2.339546203568933,
          48.857710541463412
        ]
      ]
    ]
  ]
}
Run Code Online (Sandbox Code Playgroud)

考虑另一个岛对面的位置(因此,在多边形之外):

{
  "type": "Point",
  "coordinates": [
    2.359378457022193,
    48.850358223189644
  ]
}
Run Code Online (Sandbox Code Playgroud)

以下是使用Django ORM的一些示例查询(我可以提供SQL等价但我认为这不相关):

>>> Location.objects.filter(point__within=(area.polygon))
[]
>>> Location.objects.filter(point__distance_lte=(area.polygon, D(m=500)))
[]
>>> Location.objects.filter(point__distance_lte=(area.polygon, D(m=550)))
[<Location: Ile saint louis>]
Run Code Online (Sandbox Code Playgroud)

该 …

geospatial spatial-query elasticsearch

4
推荐指数
1
解决办法
1092
查看次数