问题标签 [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.
elasticsearch - 如何快速重新索引 ElasticSearch?
我有一个包含大约 200M 文档的 ElasticSearch 索引,总索引大小为 90Gb。
我更改了映射,所以我希望 ElasticSearch 重新索引所有文档。
我编写了一个脚本来创建一个新索引(使用新映射),然后遍历旧索引中的所有文档,然后放入新索引中。
它似乎工作,但问题是它工作得非常缓慢。前两天开始是300个文档/分钟,现在速度是150个文档/分钟。
该脚本在弹性搜索机器所在的同一网络内的机器上运行。
以这样的速度,完成重新索引需要一个月的时间。
有人知道一些更快的技术来重新索引弹性搜索索引吗?
elasticsearch - 使用 pyes 的 ElasticSearch:批量索引
我有一个 200M 的文档索引,我想重新索引。
我编写了以下脚本,该脚本遍历旧索引中的文档,并将它们与 balk insert 一起放入新索引中。
每个批量的大小为 2000 个文档。
观察:
- 我得到的速度很慢:大约 150 个文档/分钟。
- 刷新操作的时间为 0。如果我删除索引命令(只是从 DB 中读取)-我加快了 10 倍。
结论:
- 索引忽略 bulk=True 标志,并将每个文档推送到 ES 服务器。
任何人都知道请帮我弄清楚为什么 bulk=True 没有效果?
python - 更新/插入后 Elasticsearch 排序失败
我将文档插入弹性搜索并尝试对所有文档中存在的给定字段进行排序。但是,每当我更新文档时,索引似乎会中断,并且我没有得到排序顺序。我通过执行以下操作创建了一个索引:
例如,我想对“_ts”字段进行排序。给定以下字典和代码:
我希望得到“Ringo,John,Paul”的订单,而是得到“John,Paul,Ringo”的订单。为什么会出现这种情况?我看到这里有一个错误: https ://github.com/elasticsearch/elasticsearch/issues/3078 但这似乎会影响 ES .90.0,我正在使用 .90.1。
python - MapperParsingException:没有在字段上声明的类型 [date_hour_minute_second] 的处理程序
我正在为 Elasticsearch 开发带有 Python Pyes 客户端的驱动程序。我需要基于文档http://www.elasticsearch.org/guide/reference/mapping/date-format/的日期列的映射索引没有“date_hour_minute_second”格式,我还检查了 pyes 文档https://pyes.readthedocs。 org/en/latest/guide/reference/mapping/date-format.html
当我为我的字段使用“date_hour_minute_second”格式时,我得到了标题中提到的异常。
这是我的字段定义:
我无法弄清楚为什么它会引发这样的异常,甚至文档都说它受支持。
elasticsearch - 提高 ElasticSearch 的性能
我正在使用 ElasticSearch 来索引一些数据。但是我发现性能并不是那么高效。
只有 3000 个条目数据,每个数据有 6 列。索引这 3000 个条目需要 5 分钟。
因为我是 ElasticSearch 的新手,所以我的代码和程序流程基本如下:
- 搜索并检查是否有任何相同的数据。
- 如果有相同的数据,则更新。
- 如果没有,然后添加。
代码如下:
搜索:
指数
更新索引数据中的计数。
有什么方法可以提高我的代码性能吗?
谢谢您的帮助。
python - 通过 elasticutils 过滤的 ElasticSearch
我目前正在尝试filter
通过 library 在现有的 ElasticSearch 实例中使用 a elasticutils
。不幸的是,我无处可去。我不确定问题是因为我做了一些基本的错误,还是图书馆有问题(很可能是 AFAICT)。
我有一个带有特定映射的索引,包含一个字符串类型的字段(比如“A”)(没有给出明确的分析器)。该字段始终包含字符串列表。
我想通过在该字段 A 中包含给定字符串来过滤我的文档,所以我尝试了:
但这会返回一个空的结果集。我也尝试过使用它,f = eu.F(A__in="text")
但这导致了一个很大的错误消息,其中最有趣的部分是[terms] filter does not support [A]
.
我想知道是否必须以不同的方式配置索引,也许我必须创建一个构面才能使用过滤器?但是我在阅读的文档中没有找到任何提示。
我想使用的原因filter
是它们可以使用and
,or
和自由组合not
。我还发现了一些描述query
也可以是布尔值的规范,但它们通常指的是must
, should
,并且must_not
我认为这对我来说不够灵活。但我还发现一些规范提到了s 的operator
标志query
,可以设置为and
or or
。欢迎提供任何相关信息。
所以,我现在的问题是:
- 是配置问题吗?方面与此有关吗?
- 我想通过跳过lib来测试这是否是一个库错误,那么我怎样才能使用curl来执行这个过滤操作呢?或任何其他图书馆(也许
pyes
)? - 多个查询的灵活组合(使用
and
、or
、not
和它们的分组)是否可能(即根本不使用过滤器)?我该怎么做?(最好在elasticutils
但其他库语法中,例如pyes
,或简单的 CURL 也是受欢迎的)。
elasticsearch - Elasticsearch GET 在 POST 之后
get_or_create
在对 ES 执行多个请求时,我遇到了一些问题。Elasticsearch 在响应索引文档后似乎需要一些时间POST
,以至于刚刚GET
调用的 a没有返回任何结果。
此示例重现了该问题:
POST
进展顺利:
第一个GET
不匹配任何结果:
短暂的停顿后,显示结果(第二个GET
):
这种行为正常吗?
即使响应速度较慢,是否有可能立即获得结果?
谢谢!
python - 使用弹性搜索时的慢速测试用例 (pyes)
我最近在我们的堆栈中添加了弹性搜索,它正在减慢我们的测试用例。
为了防止测试相互践踏,我通过索引将它们隔离开来。这似乎是原因。创建和删除索引似乎很慢。
我还没有找到与“截断”等效的词,但我想我会问。
此外,几年前,当我在 Java 中使用 ES 时,我使用了一个内存节点进行测试,而且速度非常快。我不认为 pyes 有这个选项。
python - Pyes Elastic Search 无结果返回
我正在按照pyes的入门教程,代码可以完成,但是没有返回到我的屏幕上的搜索结果。
当我运行代码时,它只返回 hello world。
弹性搜索和任何反馈都是全新的,我们将不胜感激!
elasticsearch - 在pyes中获取排序的搜索结果
这是一个最小的例子。
我有一个'test_index'
包含以下记录的索引:
我想按'name'
字段的字母顺序获取记录。我使用sort
参数,但结果未排序:
结果:
我在这里做错了什么?