问题标签 [elasticsearch-7]

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 投票
0 回答
1133 浏览

elasticsearch - vm.max_map_count 设置为 262144 但仍然出现错误

我正在尝试在 minikube 中安装 Elasticsearch,但我无法继续,因为 pod 不断重启。

开机后,我的电脑 vm.max_map_count 已经设置为 262144。因为我昨天已经编辑了 /etc/sysctl.conf。

我已经搜索了互联网,但只有将 vm.max_map_count 设置为 262144 是唯一的解决方法。我想知道为什么 minikube 仍然看到 vm.max_map_count [65530] 而不是 262144。

0 投票
2 回答
591 浏览

elasticsearch - Elasticsearch:创建索引时设置的总字段限制

我在 ElasticSearch 7 中遇到一个新问题。尝试在 Nest 库 c# 中使用自动映射创建索引时出现“总字段限制”错误。

问题是如何将 整合index.mapping.total_fields.limit到上面的查询中?或者替代解决方案,如果有的话?

谢谢

0 投票
1 回答
298 浏览

python - 部分单词搜索在使用 mongo-connector 的弹性搜索(elasticsearch-py)中不起作用

目前,我已将我的 mongoDB 集合索引到在 docker 容器中运行的 Elasticsearch 中。我可以通过文档的确切名称查询文档,但如果它只是名称的一部分,则 Elasticsearch 无法匹配查询。这是一个例子:

当使用文档的全名时,elasticsearch 能够成功查询到它。但这就是当我尝试搜索部分名称或使用通配符时发生的情况:

除了默认索引设置之外,我还尝试创建一个允许使用 nGram 标记器以使我能够进行部分搜索的索引,但这也不起作用。这些是我用于该索引的设置:

这是创建它的相应python命令:

我使用 mongo-connector 作为我的 mongoDB 集合和 elasticsearch 之间的管道。这是我用来启动它的命令:

我不确定为什么我的 elasticsearch 无法获得部分匹配,并且想知道我是否缺少某些设置,或者我是否在某个地方犯了一些关键错误。谢谢阅读。

版本

MongoDB 4.0.10

弹性搜索==7.1.0

elastic2-doc-manager[elastic5]

0 投票
1 回答
2082 浏览

nest - 如何在 elasticsearch 嵌套中获取索引的映射?

我编写了以下函数并获得如下所示的响应:

回复:

正如您所看到的调试信息字段确实有我需要的响应,任何人都可以帮助我如何获得像我们在 kibana 中获得的映射格式。

要求的回应:

0 投票
1 回答
5411 浏览

elasticsearch - Elastic Search 7.5 中的父子关系

我是“弹性搜索”的新手,目前正试图了解 ES 如何保持“父子”关系。我从以下文章开始:

https://www.elastic.co/blog/managing-relations-inside-elasticsearch

但是这篇文章是基于旧版本的 ES 的,我目前使用的是 ES 7.5,它指出:

_parent 字段已被删除,取而代之的是 join 字段。

现在我正在关注这篇文章:

https://www.elastic.co/guide/en/elasticsearch/reference/7.5/parent-join.html

但是,我无法获得预期的结果。

我有一个场景,其中我有两个索引“Person”和“Home”。每个“人”可以有多个“家”,这基本上是一对多的关系。问题是当我查询以获取父母为“XYZ”人的所有房屋时,答案为空。

以下是我的索引结构和搜索查询:

人物指数:

请求网址:http://hostname/person

主页索引:

请求网址:http://hostname/home

在人员索引中添加数据

请求网址:http://hostname/person/_doc/1

在主页索引中添加数据

请求网址:http://hostname/home/_doc/2?routing=1&refresh

查询获取数据:(获取所有父为 person id "1" 的记录)

请求网址:http://hostname/person/_search

或者

回复:

我无法理解我在这里缺少什么或上述查询有什么问题,因为它没有返回任何数据。

0 投票
1 回答
2699 浏览

c# - 避免 ElasticSearch 错误 503 服务器不可用:使用 WaitForStatus

当我启动我的程序时,我运行 ElasticSearch 服务并检查是否存在索引以及是否有任何文档,假设我只是运行 ES 服务并且我有这两个功能:

在 checkElasticsearchIndex 函数内部,

  1. 计数操作失败并显示以下错误消息:

    OriginalException:Elasticsearch.Net.ElasticsearchClientException:远程服务器返回错误:(503)服务器不可用..调用:状态代码503来自:GET /myindex/_count。ServerError:类型:search_phase_execution_exception 原因:“所有分片失败”---> System.Net.WebException:远程服务器返回错误:(503)服务器不可用。

  2. 健康也失败了:

    OriginalException:Elasticsearch.Net.ElasticsearchClientException:无法连接到远程服务器。调用:状态码未知来自:GET /_cluster/health/myindex?wait_for_status=yellow ---> System.Net.WebException:无法连接到远程服务器 ---> System.Net.Sockets.SocketException:无法连接是因为目标机器主动拒绝它 127.0.0.1:9200

如您所见,我尝试了 Cluster WaitForStatus,但没有成功。

我的问题:有没有办法等到客户端/集群/节点准备好并且没有任何异常?

0 投票
1 回答
100 浏览

elasticsearch - 在子查询中使用父文档中的字段值

我有亲子关系。我的父文档有一个名为的字段,该字段lastRevisionId存储父文档最新版本的标识符。

子文档是不可变的键/值对,描述特定版本的父文档的属性。

家长

孩子

对于每个修订版,我们都会为新修订版索引一个新的子文档,因此在我们将 Parent 更新为 rev2 之后,我们将在 ES 中拥有这个:

家长

孩子们

我需要的是一个查询,它将返回子文档revisionId上的子文档等于lastRevisionId父文档上的。

这样做的原因是,我们希望存储这些修订的历史数据,但我们也希望能够仅获取最新信息。历史数据仅从审计的角度真正有用,但最新数据将描述大量有用的当前状态。

我们正试图避免对这些数据进行非规范化,因为父版本的任何单个修订都可能有成百上千的子文档,并且每次更改都更新它们会引入其自身的缩放问题。

如果这是 SQL,查询将类似于:

0 投票
2 回答
299 浏览

java - 我们如何在 Java 中为 ElasticSearch 7.4.2 Java 高级 REST 客户端创建 IndexRequest?

我正在尝试将数据插入到托管在 bonsai.io 云上的 ElasticSearch(版本 7.4.2)中。当我尝试在 Java(Java 高级 REST 客户端)的客户端代码中创建 IndexRequest 和 IndexResponse 时,IndexRequest 和 IndexResponse 都没有可用的导入。

我的 pom.xml 具有以下依赖项:

我什至尝试将以下依赖项添加到我的 pom.xml

有人可以在 7.4.2 版本中帮我解决这个问题吗?

0 投票
1 回答
500 浏览

elasticsearch - 如何使用定义的分析器和分片在 Elasticsearch 中创建索引?

我正在尝试使用定义的分析器创建一个带有文本和关键字映射的索引,这是我到目前为止所尝试的:

我已经尝试过了,但出现错误:

}

问题是我需要添加此映射的字段。我正在 AWS ES 服务中尝试这个。

0 投票
1 回答
676 浏览

docker - 通过 kibana 控制台进行 Elasticsearch 查询响应缓慢

服务器后台:3节点elasticsearch集群+kibana+logstash运行在docker环境。主机服务器运行 rhel7.7(2cpu,8GB RAM + 200GB 文件共享)。

版本

  • 弹性搜索 7.5.1
  • 基巴纳 7.5.1
  • 日志存储 7.5.1
  • filebeat 7.5.1(在单独的服务器上运行)

问题:A. 当我通过 kibana 控制台运行弹性搜索查询时,至少需要20000 毫秒才能将输出返回到控制台。但是,如果我通过 curl 或 postman 或 chrome 直接运行相同的查询(elasticsearch),则只需不到200 毫秒即可获得输出 B。即使在我加载 kibana dashboad 时发生这种情况(并非一直如此),也会收到以下错误消息和不加载一些图表。但我从控制台日志中看不到任何异常或错误

如果我刷新页面,我可以看到所有图表。

Chrome 性能配置文件直接命中 elasticsearch 查询URL:http://testnode.mycompany.com.nz:9550/_cat/indices 截屏

通过 kibana 开发控制台 elasticsearch 查询Query 的 Chrome 性能配置文件:GET /_cat/indices 截屏

我不明白的是,如果我在笔记本电脑上运行相同的 docker compose 文件(windoes 10、16GB、i7 2cpu、docker 桌面运行),无论是 kibana 开发控制台查询还是直接查询 elasticseach,我都不会遇到任何缓慢的问题。

任何遇到此问题并感谢的人让我知道如何解决此问题?

提前致谢。