问题标签 [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 投票
1 回答
46 浏览

django - 在 Django 中添加 makemigration 函数(Elasticsearch 索引)

我正在尝试创建一个结合 Django 和 Elasticsearch 的项目。我想要做的是在创建 Django 迁移文件时创建或更新 Elasticsearch 索引。

粗暴的方法是检测迁移文件夹中的任何更改并执行一个将相应地创建/更新 Elasticsearch 索引的函数,但我想创建一些直接响应 makemigrations 命令的东西,因为这更直观。

查看 Django 中的迁移文档,我真的找不到有关如何创建迁移文件的有用信息。

谢谢大家的帮助。

0 投票
2 回答
2490 浏览

python - 如何使用 Python 将数据作为整数提供给 Elasticseach?

我正在使用这个 python 脚本将我的数据提供给 elasticsearch 6.0。如何Value在 Elasticsearch 中存储浮点类型的变量?我无法在 Kibana 中使用度量选项进行可视化,因为所有数据都自动存储为字符串

谢谢

编辑:

在@Saul 的建议之后,我可以使用以下代码解决此问题:

0 投票
1 回答
3414 浏览

python - Elasticsearch Python API 在简单查询中导致“search() 缺少 1 个必需的位置参数”

我拼命地尝试在elasticsearch上执行一个简单的搜索操作,但是几个小时后就失败了。这是我的代码:

我在互联网上看到过很多次,但我总是收到一个错误,并且不知道我的代码片段有什么问题。

我必须在哪里编写所需的“查询”?我正在尝试搜索姓名和姓氏。

0 投票
1 回答
1133 浏览

python - 使用 elasticsearch-dsl python 客户端求和计算

我有一个名为“demoadmin”的 Eleaticsearch 索引,类型为“billing”。我已经使用 POST 成功执行了以下查询正文。

此查询返回如下输出

查询和输出在 Elasticsearch-head 中如下所示

Elasticsearch 中的查询和输出 - 头

当我尝试使用 elasticsearch python API 将此代码转换为 python 时,代码如下所示,它返回相同的输出。

我正在尝试在 elasticsearch-dsl 中转换代码并卡住了。我已经完成了应用过滤器,但之后对要做什么感到困惑。到目前为止,我已经在 elasticsearch-dsl 中实现了代码,如下所示

不知道如何从这里开始。一些机构可以在聚合部分帮助我吗?

0 投票
3 回答
8914 浏览

python - 如何使用在 docker 容器中运行的 python 脚本创建(dockerized)Elasticsearch 索引?

我正在尝试使用从脚本调用的 Python 客户端https://github.com/elastic/elasticsearch-py(也在容器中运行)来索引容器化的 Elasticsearch 数据库。

通过查看现有的代码,这似乎docker-compose是一个有用的工具,可以用于我的目的。我的目录结构是

我的docker-compose.yml阅读

indexer.py

elasticsearch 服务的 Dockerfile 是

而对于索引器是

包含requirements.txt只能elasticsearch用 pip 下载。

运行在https://pastebin.com/6U8maxGX ( )docker-compose run indexer处给我错误消息。就我所见,elasticsearch 已启动或运行.ConnectionRefusedError: [Errno 111] Connection refusedcurl -XGET 'http://localhost:9200/' docker ps -a

如何修改我的docker-compose.ymlindexer.py解决问题?

为了完整起见,可以在此处找到代码的 PS A(工作)版本(由以下答案通知):https ://github.com/davidefiocco/dockerized-elasticsearch-indexer 。

0 投票
0 回答
438 浏览

python - Elasticsearch term_statistics/doc_freq 总是返回 1

我最近开始通过 Python API 使用 Elasticsearch,并尝试使用术语向量在一组文档中获取每个单词的频率。

我正在使用多个 Multi termvectors API,如下所示:

但是,这会为每个文档返回一组单独的结果,而我正在尝试获取所有文档的总结果。term_statistics/doc_freq 值(“包含当前术语的文档数”)应该给我我需要的信息,但这始终是 1,因为每个文档都会返回单独的结果。有什么想法可以让 doc_freq 返回有意义的值吗?我需要使用聚合吗?

这里的相关文档:

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-termvectors.html https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-multi-termvectors .html http://elasticsearch-py.readthedocs.io/en/master/api.html

提前感谢您的帮助。

0 投票
2 回答
552 浏览

python - elasticsearch-py search queries substantially slower than curl equivalent

In a Zeppelin notebook, running the following query with elasticsearch-py 5x

Takes 28 minutes to return.

From the same notebook, using curl to run:

returns basically instantly.

Why is the python library performance so poor, and what can be done to make that fast?

0 投票
1 回答
180 浏览

python - 在 Django/ElasticSearch 中使用 HstoreField

我是弹性搜索的新手,我真的很想在我的 Django 项目中实现它。
我的问题:我想存储一个 Python dict 对象

并确保我的搜索将查看每个键。
在 Django 中,我使用Hstore字段,我可以访问我的数据

有没有人知道使用弹性搜索来做到这一点,并确保我的 Hstorefield 的所有密钥都被跟踪?

感谢帮助 !

这是我的 Django 模型:

0 投票
1 回答
1681 浏览

elasticsearch - 使用 streaming_bulk() 时出现 409 错误 - 确定该文档仅包含一次。

我正在尝试上传大量文件——大约 700 万份。

我为要添加的每个文档创建了操作,并将它们拆分为大约 260 个文件,每个文件大约 30K 个文档。

下面是动作的格式:

我曾尝试使用 helpers.bulk、helpers.parallel_bulk 和 helpers.streaming_bulk,并且使用 helpers.bulk 和 helpers.streaming_bulk 取得了部分成功。

每次运行测试时,我都会删除,然后使用以下命令重新创建索引:

当我部分成功时 - 加载了许多文档,但最终我收到 409 版本冲突错误。

我知道,当 ES 没有足够的时间在通过查询删除后处理单个文档的删除时,可能会产生版本冲突。

起初,我以为这里发生了类似的事情。但是,我意识到我经常在第一次处理文件时从文件中获取错误(即,即使删除导致问题,这个特定文件也从未加载过,因此不会发生冲突)。

我使用的_id 值是我从中提取数据的原始数据库的主键 - 所以我确定它们是唯一的。此外,我检查了我的操作数组或我创建它们的文件中是否存在无意重复的记录,并且没有重复

我无法解释为什么会发生这种情况,并且很难找到上传数据的解决方案。

任何帮助将不胜感激!

0 投票
1 回答
46 浏览

elasticsearch - 我如何过滤一个存在于查询范围内的对象?

我有一个以 workingHour 作为嵌套对象的索引,其中包含 day、stat 和 end。 class WorkingHourIndex(InnerDoc): day = Keyword() start = Date() end = Date()

现在,当我搜索要使用日期和时间执行查询的文档时,所有内容都已正确编入索引,并且我希望弹性搜索检查日期是否存在,如果存在,则开始和结束之间是否存在时间。