问题标签 [pyes]

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 回答
2080 浏览

python - 如何在 python 客户端中增强弹性搜索的并行性?

我是 elasticsearch 新手,我需要优化 python 客户端来在 elasticsearch 集群上进行搜索/索引。在我看来,瓶颈是客户端本身,而elasticsearch可以处理更多的查询。我想知道如何使我的程序更优化以提高性能。我应该使用多处理还是多线程,或者有更优雅的方式来完成这项工作。谢谢

0 投票
2 回答
965 浏览

groovy - 如何使用 Elasticsearch 脚本尽可能快地部分更新 5 亿份文档

我维护一个包含大约 5 亿份文档的索引。其中,每个文档都有一个包含 1 到 10 个单词的字符串字段。我想分析每个文档中的这个字段的字数,并将结果存储到相应的文档中的字段“wordCount”中。

我知道这里有 partial_update 功能: ES documentation to partial_update

我想知道是否可以使用脚本化的 partial_update(可能带有高级 Groovy 脚本)来显着提高上述任务的速度。如果是这样,有人可以提示如何开始吗?

目前,我正在使用下面的 python 脚本,但它非常慢(就大数据而言,由于许多网络往返和有效负载大小)

0 投票
1 回答
188 浏览

python - 查询 DSL 在 pyes 搜索中不起作用

我正在尝试使用自定义查询 DSL 来使用 pyes 库获取结果。我有使用命令行时可以使用的查询 DSL

这里的想法是在许多分类文档中搜索与特定字符串查询匹配的所有文档。然后使用聚合我想按类别查找前五个结果文档。加星标的项目会得到提升,以便它们显示在其他搜索结果之上。

当我直接在终端中输入上面列出的命令时,这很有效,但是当我尝试将其放入 pyes 时它不起作用。我不确定最好的方法是什么。pyes 库的文档让我将其完全转换为 pyes 对象真的很困惑。

我正在尝试执行以下操作:

(其中self.get_test_index_query_dsl返回上面的查询 dsl dict)

按原样搜索给了我一个: ElasticSearchException: QueryParsingException[[test_index] No query registered for [query]]; }]

如果我删除父“查询”映射并尝试:

这也会出错:ElasticSearchException: ElasticsearchParseException[Expected field name but got START_OBJECT "aggs"]; }]

除了 pyes 似乎还没有“topFoundHits”功能(我认为)这一事实之外,这些错误让我望而却步。

任何想法为什么会发生这种情况以及如何解决它?太感谢了!

0 投票
1 回答
424 浏览

python - Django ElasticSearch / pyes:如何使用两个过滤器进行搜索?

我需要在查询中添加另一个参数“类型”以进行过滤

这就是我现在拥有的,它对我有用:

如何按参数“类型”添加过滤?

0 投票
0 回答
513 浏览

python - NoneType 不能使用 pyes 的 elasticsearch 调用

我的代码是:

我总是收到这个错误:

bits = error.split('[', 1) TypeError: 'NoneType' object is not callable

有谁知道是什么问题?

0 投票
1 回答
84 浏览

elasticsearch - Pyes 弹性搜索刷新 API 问题

我最近将 Elastic Search 从 v 1.7 升级到了 2.4。我正在使用 python 并使用 pyes 库与 Elastic Search 进行通信。在我的代码中,我有这一行来刷新索引。

con.indices.refresh()

这在 ES 1.7 中运行良好,但是在 ES 2.4 中,我遇到了这个异常:

ElasticSearchException:未知异常类型:408

通过 curl 刷新效果很好,即

卷曲 l​​ocalhost:9200/_refresh

Elastic Search 2.4 中是否有任何更改会破坏这段代码?谢谢

0 投票
1 回答
527 浏览

python - python elasticsearch客户端错误:get_alias超时

我是 python 和 elasticsearch 的新手,我正在尝试运行一个示例应用程序。但是我的弹性搜索连接显示了一些错误。我已经安装了 elasticsearch 并启动了服务器。在应用程序中有这样的代码

当 .get_alias 被调用时,它显示

请帮我找出问题所在。提前致谢。

0 投票
0 回答
114 浏览

python - pyes 最小示例:ElasticSearchException:未知异常类型:408

我正在尝试让 pyes 工作并制作了一个源自文档的最小示例

我比读一些数据并刷新索引

但是,这会导致错误

我用谷歌搜索错误,但找不到任何东西?这是我的python版本和pyes版本

这是我的弹性搜索服务器日志的输出

0 投票
1 回答
1017 浏览

python - 插入后查询时Elasticsearch缺少数据

我有一个执行以下操作的测试:

  1. 使用 pyes 在 ES 上创建索引
  2. 插入映射
  3. 插入数据
  4. 查询数据以检查它是否符合预期结果

但是,当我运行此测试时,有时它会找不到结果,有时它会找到一些东西但缺少一些数据。有趣的是,这只发生在我自动运行测试时。如果我逐行输入代码,一切都会按预期工作。我已经手动测试了 3 次,它可以正常工作。

有时我什至会收到这样的消息:

似乎根本没有创建索引

我ping了我的ES地址,一切看起来都是正确的。在任何地方都没有发现其他错误消息。

我认为这是因为我试图在插入后太快地获取数据,如此处所述:Elastic Search No server available, list index out of range

(检查已接受答案中的第一条评论)

但是,即使我让它延迟 4 秒左右,这个问题仍然会发生。令我担心的是,有时只丢失一些数据,这真的很奇怪。我以为要么全部找到,要么全部丢失。

有没有人有类似的经验可以对这个问题有所了解?谢谢。

0 投票
0 回答
65 浏览

python - 弹性搜索仅在备用查询中给出相同的结果

我在使用弹性搜索时遇到了问题。在对相同数据使用相同查询进行搜索时,ES仅在备用调用中返回相同的_meta.score (结果)。也就是说,如果结果的_meta.score在第一次调用时为“A”,则在第二次调用时返回“B”,在第三次调用时返回“A”,在第四次调用时返回“B”,依此类推。我在 python 中使用 PyES 包装器。

以下是我为 PyES 设置的设置