问题标签 [elasticsearch-py]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2361 浏览

elasticsearch - Elasticsearch 分组和不同

我有一堆文档,其中包含用户名和 device_os 字段,如下所示:

我想通过用户名获取所有不同的 device_os,如下所示:

在elasticsearch中做这样的事情的最好方法是什么,特别是elasticsearch-py?

0 投票
1 回答
3478 浏览

python - 授权异常:在扫描

我正在尝试运行看起来非常简单的扫描,但我遇到了一个奇怪的异常。似乎扫描创建的生成器遇到了异常,我不知道为什么。我尝试将我的 for 循环的内部包装在 try/except 中,但它仍然会引发异常,所以我猜它在点击 es 时会死掉。如果您可以帮助确定正在发生的事情,这就是我所拥有的:

但我得到以下信息:

最令人沮丧的部分是这完全是随机发生的。它在少于 10k 文档和超过 250k 文档后出现错误。任何帮助都会很棒,谢谢!

0 投票
2 回答
6137 浏览

python - Elasticsearch delete_by_query 错误用法

我正在使用 2 种类似的 ES 方法来加载和删除文档:

和:

第一个工作正常并返回预期的记录。
第二个抛出异常:

"TransportError(404,'{
\"found\":false,
\"_index\":\"users_favourite_documents\",
\"_type\":\"favourite_document\",
\"_id\":\"_query\" , \"_version\":1,
\"_shards\":{\"total\":2,\"successful\":2, \"failed\":0}}')"

我究竟做错了什么?

0 投票
0 回答
259 浏览

elasticsearch - 如何获取弹性搜索索引中所有术语的频率

我有一个被索引的文档语料库。我还在索引时存储了术语向量。现在我想检索满足某些过滤选项的所有文档的术语向量。通过提供文档 ID,我能够获得单个文档或一组文档的术语向量。但是有没有办法在不提供文档 ID 的情况下获取所有文档的术语向量?最终我想要做的是获取一个字段中所有术语的频率计数,对于索引中的所有文档(即,一个词袋矩阵)。

我使用 elasticsearch-py 作为客户端。

感谢任何指针。谢谢!

0 投票
1 回答
1507 浏览

python - 在 Python 中导入 elasticsearch.helpers 时出现 ImportError

我正在使用带有Ubuntu 16.04 XenialPython 3.5.2虚拟环境的 docker 容器。每次我尝试初始化服务器 uWSGI 时,都会收到以下 Python 错误:

我一直在 docker 容器内手动运行 bash,以查看模块有什么问题。通过pip list在虚拟环境中运行,我可以判断软件包已正确安装:

运行sys.path显示站点包文件夹已正确添加到 python 路径:

文件夹elasticsearch.helpers中有一个__init__.py文件,所以这不是问题。如果我尝试从 Python 控制台导入,它也会失败:

但是现在如果我转到 site-packages 文件夹cd /env/lib/python3.5/site-packages并从这里运行 python 控制台,导入将起作用。

我真的不知道为什么会这样,任何帮助将不胜感激。

0 投票
2 回答
179 浏览

unit-testing - Elasticsearch "get by index" returns the document, while "match_all" returns no results

I am trying to mock elasticsearch data for hosted CI unit-testing purposes.

I have prepared some fixtures that I can successfully load with bulk(), but then, for unknown reason, I cannot match anything, even though the test_index seemingly contains the data (because I can get() items by their IDs).

The fixtures.json is a subset of ES documents that I fetched from real production index. With real world index, everything works as expected and all tests pass.

An artificial example of the strange behaviour follows:

0 投票
1 回答
941 浏览

elasticsearch-py - 使用批量流时如何使用 elasticsearch-py 重试索引?

我偶尔BulkIndexError使用streaming_bulk助手时。有没有办法配置客户端重试此类错误?使用助手时处理错误的最佳方法是什么?

0 投票
1 回答
3658 浏览

python - elasticsearch python客户端 - 与许多节点一起工作 - 如何使用嗅探器

我有一个有 2 个节点的集群。

我试图了解连接节点的最佳实践,并在一个节点停机时检查故障转移。

来自文档

所以我尝试像这样连接到我的节点:

其中 ip1/ip2 是机器 ip(例如 10.0.0.1、10.0.0.2)

为了测试它,我现在终止了 ip2(或者如果不存在),当我尝试连接时,我总是得到:

即使 ip1 存在并且已经存在。

如果我想这样连接:

然后我可以在日志中看到,如果客户端没有从 ip2 得到任何响应,它将移动到 ip1,并返回有效响应。

所以我在这里错过了什么吗?我认为通过嗅探,如果其中一个节点关闭,客户端不会抛出任何异常,并继续使用活动节点(直到下一次嗅探)

更新:当我将嗅探设置为“真”时,我会得到这种行为:

0 投票
1 回答
13071 浏览

elasticsearch - 在弹性搜索查询中转义特殊字符

我的问题很简单,我不能在搜索查询中使用@。最后,我发现我可以使用反斜杠转义特殊字符。

但是当我尝试这样做时,我得到了以下错误Unrecognized character escape '@' (code 64)\n at。当我尝试没有@符号时,我得到了没有@符号的结果

  1. 一如既往的怀念
  2. 作为。图形用户界面
  3. 好像等等。任何人都可以建议我如何实现之前的查询可以按照我的期望执行?

我在用

  • 弹性搜索 2.4.1
  • Ubuntu 14.04
  • Kibana 4.6.1
0 投票
1 回答
831 浏览

python - 如何配置 elasticsearch 以使用 SSL 和基本身份验证

我正在尝试在 IBM Bluemix 上部署一个使用 Ramses ( http://ramses.tech ) 的应用程序。不幸的是,应用程序在部署过程中崩溃了。在 local.ini 配置文件中,我设置了以下内容:

但是,当我尝试在 ibm bluemix 上部署我的应用程序时,我收到以下错误:

根据错误,似乎正在尝试与http://xxxx.dblayer.com:9999而不是 https://xxxx.dblayer.com:9999 建立连接。

我尝试了许多不同的配置:

  1. 我尝试设置elasticsearch.hostelasticsearch.port 而不是我从 Nefertarielasticsearch.hosts那里得到一个。Exception: Bad or missing settings for elasticsearch. 'hosts'

  2. 我已经尝试elasticsearch.hosts使用 https:// 前缀进行设置,这会导致 ValueError: too many values to unpack来自 nefertari (似乎它试图使用冒号作为分隔符进行拆分)。

  3. 我尝试设置elasticsearch.hosts为空白,或者只是一个被空格包围的冒号,同时设置elasticsearch.host 并且elasticsearch.port我得到ValueError: need more than 0 values to unpack

如何配置 elasticsearch 以连接到我的 bluemix elasticsearch 服务?