相关疑难解决方法(0)

HTTP响应标头的约定,用于通知客户已弃用的API

我正在升级我们的REST API端点,并且我想在他们调用要弃用的端点时通知客户端.
我应该在响应中使用哪个标头,并显示"此API版本已被弃用,请参阅最新文档以更新您的终端"的消息

rest http http-status-codes deprecation-warning

75
推荐指数
6
解决办法
3万
查看次数

将弹性搜索限制设置为"无限制"

如何从弹性搜索中获得所有结果,因为结果仅显示限制为10.我有一个像这样的查询:

@data = Athlete.search :load => true do
          size 15
          query do
            boolean do
              must { string q, {:fields => ["name", "other_names", "nickname", "short_name"], :phrase_slop => 5} }
              unless conditions.blank?
                conditions.each do |condition|
                  must { eval(condition) }
                end
              end
              unless excludes.blank?
                excludes.each do |exclude|
                  must_not { eval(exclude) }
                end
              end
            end
          end
          sort do
            by '_score', "desc"
          end
        end
Run Code Online (Sandbox Code Playgroud)

我已将限制设置为15,但我不想让它无限制,以便我可以获得所有数据,我无法设置限制,因为我的数据不断变化,我想获得所有数据.

ruby elasticsearch

40
推荐指数
4
解决办法
9万
查看次数

用于python的Elasticsearch客户端,没有解决方案

我选择了带有graylog2的elasticsearch,这是非常糟糕的一周.我正在尝试使用Python对ES中的数据运行查询.

我试过跟随客户.

  1. ESClient - 非常奇怪的结果,我认为它没有维护,query_body没有效果它返回所有结果.
  2. Pyes - 不可读,无证.我浏览了一些资源,无法弄清楚如何运行一个简单的查询,也许我不是那么聪明.我甚至可以用json格式运行基本查询,然后只使用Python对象/迭代器对结果进行分析.但Pyes并不容易.
  3. Elasticutils - 另一个记录,但没有完整的样本.附加代码时出现以下错误.我甚至不知道它如何使用这个S()连接到正确的主机?

    es = get_es(hosts = HOST,default_indexes = [INDEX])

    basic_s = S().索引(INDEX).doctypes(DOCTYPE).values_dict()

结果:

 print basic_s.query(message__text="login/delete")
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 223, in __repr__
    data = list(self)[:REPR_OUTPUT_SIZE + 1]
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 623, in __iter__
    return iter(self._do_search())
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 573, in _do_search
    hits = self.raw()
  File "/usr/lib/python2.7/site-packages/elasticutils/__init__.py", line 615, in raw
    hits = es.search(qs, self.get_indexes(), self.get_doctypes())
  File "/usr/lib/python2.7/site-packages/pyes/es.py", line 841, in search
    return self._query_call("_search", body, indexes, doc_types, **query_params)
  File "/usr/lib/python2.7/site-packages/pyes/es.py", line 251, in …
Run Code Online (Sandbox Code Playgroud)

python elasticsearch pyes

8
推荐指数
3
解决办法
8772
查看次数

有没有办法检索(ElasticSearch)NEST查询中的所有记录?

我在NEST做这个查询

var result = elasticClient.Search<SearchItemClass>( s=>
    s.Index("indexName")
     .Type("typeName")
     .Query(q => q.ConstantScore(score => score.Filter(f => f.Term("fieldName", "term"))))
);
Run Code Online (Sandbox Code Playgroud)

这将默认返回10次点击.

有没有办法可以得到所有结果,没有指示.Size(值)或.Take(值)?

提前致谢!

elasticsearch nest

7
推荐指数
1
解决办法
2万
查看次数

Elasticsearch搜索查询以检索所有记录NEST

我在文件夹中的文档很少,我想检查此文件夹中的所有文档是否已编入索引.为此,对于文件夹中的每个文档名称,我想为ES中索引的文档运行循环并进行比较.所以我想要检索所有文件.

有同样的问题的一些其他可能的重复就像检索一个(ElasticSearch)NEST查询所有记录,并在此处输入链接的描述,但他们没有帮助我的文档已经从那个时候改变了.(有什么关于扫描当前文档中)

我试过用client.search<T>().但根据文档,检索默认数量为10的结果.我想在不提及记录大小的情况下获取所有记录?(因为索引的大小会发生变化)

或者是否可以先获取索引的大小,然后将此数字作为输入发送到大小以获取所有文档并循环?

c# elasticsearch nest

7
推荐指数
1
解决办法
1万
查看次数

使用elasticsearch-dsl-py索引和渗透文档

我正在制作和调查检索信息研讨会.我有一个json带有文章列表的文件,我需要对它们进行索引,并在使用带有突出显示的过滤器之后.

在终端中执行此操作的步骤列表如下:
1.创建具有渗透的地图.

curl -XPUT 'localhost:9200/my-index?pretty' -H 'Content-Type: application/json' -d'
{
    "mappings": {
        "_doc": {
            "properties": {
                "title": {
                    "type": "text"
                },
                "query": {
                    "type": "percolator"
                }
            }
        }
    }
}
'
Run Code Online (Sandbox Code Playgroud)
  1. 索引新文章:

    curl -XPUT 'localhost:9200/my-index/_doc/1?refresh&pretty' -H 'Content-Type: application/json' -d'
    {           
        "CourseId":35,
          "UnitId":12390,
          "id":"16069",
          "CourseName":"ARK102U_ARKEOLOJ?K ALAN YÖNET?M?",
          "FieldId":8,
          "field":"TAR?H",
        "query": {
            "span_near" : {
                "clauses" : [
                    { "span_term" : { "title" : "dünya" } },
                    { "span_term" : { "title" : "miras?" } },
                    { "span_term" : …
    Run Code Online (Sandbox Code Playgroud)

python elasticsearch elasticsearch-dsl elasticsearch-dsl-py

7
推荐指数
1
解决办法
850
查看次数

Boto3 put_object() 非常慢

TL;DR:尝试使用 Boto3 将 .json 文件放入 S3 存储桶,过程非常慢。寻找加快速度的方法。

这是我关于SO的第一个问题,所以如果我遗漏了任何重要的细节,我深表歉意。本质上,我试图从 Elasticsearch 中提取数据并使用 Boto3 将其存储在 S3 存储桶中。我参考这篇文章使用ES Python客户端的滚动功能拉取多页ES数据。当我滚动时,我正在处理数据并将其以 [timestamp].json 格式放入存储桶中,使用以下命令:

    s3 = boto3.resource('s3')
    data = '{"some":"json","test":"data"}'
    key = "path/to/my/file/[timestamp].json"      
    s3.Bucket('my_bucket').put_object(Key=key, Body=data)
Run Code Online (Sandbox Code Playgroud)

在我的机器上运行这个程序时,我注意到这个过程非常慢。使用line profiler,我发现这一行消耗了整个程序 96% 以上的时间:

    s3.Bucket('my_bucket').put_object(Key=key, Body=data)
Run Code Online (Sandbox Code Playgroud)

我可以进行哪些修改来加快此过程?请记住,我在程序中创建 .json 文件(每个文件约为 240 字节)并将它们直接流式传输到 S3,而不是在本地保存并上传文件。提前致谢。

python amazon-s3 elasticsearch boto3 line-profiler

7
推荐指数
1
解决办法
9059
查看次数

Elasticsearch返回给定类型的所有文档

几天来,我一直在寻找这个问题的解决方案.用例是仅查看特定类型的文档.通常在谷歌搜索很长一段时间后,我最终会得到一些带有通配符的搜索查询.我经历了许多SO帖子,像是一棵这样,弹性文档也.我试过下面的网址,但没有任何运气.

curl -XGET 'localhost:9200/analytics/test/_search' -d '
{

   "query" : {
   "match_all" : {}
    }
}'

curl -XGET 'localhost:9200/analytics/test/_search' -d '
{
    "query": {
        "type":{
            "value": "test"
            }
    }
}'
Run Code Online (Sandbox Code Playgroud)

在文档类型上是否存在类似外卡搜索的内容,以返回该特定doc_type的所有文档?

search types document elasticsearch document-types

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

有效地获取弹性搜索索引中的所有文档

我想从elasticsearch集群中的全匹配查询中获取所有结果.我不在乎结果是否是最新的,我不关心订单,我只想稳定地继续检查所有结果,然后在开始时重新开始.滚动和扫描是最好的,这似乎有点受欢迎拍摄我不需要的快照.我将关注处理数百万份文档.

elasticsearch

3
推荐指数
1
解决办法
1560
查看次数