问题标签 [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.
elasticsearch - Elasticsearch 分组和不同
我有一堆文档,其中包含用户名和 device_os 字段,如下所示:
我想通过用户名获取所有不同的 device_os,如下所示:
在elasticsearch中做这样的事情的最好方法是什么,特别是elasticsearch-py?
python - 授权异常:在扫描
我正在尝试运行看起来非常简单的扫描,但我遇到了一个奇怪的异常。似乎扫描创建的生成器遇到了异常,我不知道为什么。我尝试将我的 for 循环的内部包装在 try/except 中,但它仍然会引发异常,所以我猜它在点击 es 时会死掉。如果您可以帮助确定正在发生的事情,这就是我所拥有的:
但我得到以下信息:
最令人沮丧的部分是这完全是随机发生的。它在少于 10k 文档和超过 250k 文档后出现错误。任何帮助都会很棒,谢谢!
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}}')"
我究竟做错了什么?
elasticsearch - 如何获取弹性搜索索引中所有术语的频率
我有一个被索引的文档语料库。我还在索引时存储了术语向量。现在我想检索满足某些过滤选项的所有文档的术语向量。通过提供文档 ID,我能够获得单个文档或一组文档的术语向量。但是有没有办法在不提供文档 ID 的情况下获取所有文档的术语向量?最终我想要做的是获取一个字段中所有术语的频率计数,对于索引中的所有文档(即,一个词袋矩阵)。
我使用 elasticsearch-py 作为客户端。
感谢任何指针。谢谢!
python - 在 Python 中导入 elasticsearch.helpers 时出现 ImportError
我正在使用带有Ubuntu 16.04 Xenial和Python 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 控制台,导入将起作用。
我真的不知道为什么会这样,任何帮助将不胜感激。
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:
elasticsearch-py - 使用批量流时如何使用 elasticsearch-py 重试索引?
我偶尔BulkIndexError
使用streaming_bulk
助手时。有没有办法配置客户端重试此类错误?使用助手时处理错误的最佳方法是什么?
python - elasticsearch python客户端 - 与许多节点一起工作 - 如何使用嗅探器
我有一个有 2 个节点的集群。
我试图了解连接节点的最佳实践,并在一个节点停机时检查故障转移。
来自文档:
所以我尝试像这样连接到我的节点:
其中 ip1/ip2 是机器 ip(例如 10.0.0.1、10.0.0.2)
为了测试它,我现在终止了 ip2(或者如果不存在),当我尝试连接时,我总是得到:
即使 ip1 存在并且已经存在。
如果我想这样连接:
然后我可以在日志中看到,如果客户端没有从 ip2 得到任何响应,它将移动到 ip1,并返回有效响应。
所以我在这里错过了什么吗?我认为通过嗅探,如果其中一个节点关闭,客户端不会抛出任何异常,并继续使用活动节点(直到下一次嗅探)
更新:当我将嗅探设置为“真”时,我会得到这种行为:
elasticsearch - 在弹性搜索查询中转义特殊字符
我的问题很简单,我不能在搜索查询中使用@。最后,我发现我可以使用反斜杠转义特殊字符。
但是当我尝试这样做时,我得到了以下错误Unrecognized character escape '@' (code 64)\n at
。当我尝试没有@符号时,我得到了没有@符号的结果
- 一如既往的怀念
- 作为。图形用户界面
- 好像等等。任何人都可以建议我如何实现之前的查询可以按照我的期望执行?
我在用
- 弹性搜索 2.4.1
- Ubuntu 14.04
- Kibana 4.6.1
python - 如何配置 elasticsearch 以使用 SSL 和基本身份验证
我正在尝试在 IBM Bluemix 上部署一个使用 Ramses ( http://ramses.tech ) 的应用程序。不幸的是,应用程序在部署过程中崩溃了。在 local.ini 配置文件中,我设置了以下内容:
但是,当我尝试在 ibm bluemix 上部署我的应用程序时,我收到以下错误:
根据错误,似乎正在尝试与http://xxxx.dblayer.com:9999而不是 https://xxxx.dblayer.com:9999 建立连接。
我尝试了许多不同的配置:
我尝试设置
elasticsearch.host
,elasticsearch.port
而不是我从 Nefertarielasticsearch.hosts
那里得到一个。Exception: Bad or missing settings for elasticsearch. 'hosts'
我已经尝试
elasticsearch.hosts
使用 https:// 前缀进行设置,这会导致ValueError: too many values to unpack
来自 nefertari (似乎它试图使用冒号作为分隔符进行拆分)。我尝试设置
elasticsearch.hosts
为空白,或者只是一个被空格包围的冒号,同时设置elasticsearch.host
并且elasticsearch.port
我得到ValueError: need more than 0 values to unpack
如何配置 elasticsearch 以连接到我的 bluemix elasticsearch 服务?