elasticsearch 相关问题

Elasticsearch是一个基于Lucene的开源(Apache 2),分布式,RESTful,搜索引擎。

查询与过滤器

我看不到任何关于何时应该使用查询或过滤器或两者的组合的描述。它们之间有什么区别?谁能解释一下吗?

回答 9 投票 0

无法关闭AWS上的ElasticSearch索引?

我创建了一个新的 AWS ElasticSearch 域用于测试。我现在在另一台主机上使用 ES,并且希望迁移到 AWS。 我需要做的一件事是在我的 insta 上设置映射(分析器)...

回答 4 投票 0

新 Java 客户端中的术语聚合 - 是否有获取结果的通用方法?

在新的 API Java 客户端中创建聚合时,我遇到了问题。 这就是我创建请求的方式。我的一些字段名称是字符串类型。有些可以是长的或双的等 地图 在新的 API Java 客户端中创建聚合时,我遇到了一个问题。 这就是我创建请求的方式。我的一些字段名称是字符串类型。有些可以是长的或双的等 Map<String, Aggregation> termsAggregationMap= new HashMap<>(); for (String fieldName : fieldNames) { Aggregation termsAggregation = new Aggregation.Builder() .terms(new TermsAggregation.Builder().field(fieldName).order( NamedValue.of("_key", SortOrder.Asc)) .build()) .build(); map.put(fieldName, termsAggregation); } SearchRequest searchRequest = new SearchRequest.Builder() .index(indexAliasName).size(0) .aggregations(termsAggregationMap) .build(); 当我阅读它时,我发现我必须知道聚合类型:string、long、double 等.. 例如,为了读取字符串的聚合,我需要使用 sterms Map<String, Aggregate> aggregationsMap = searchResponse.aggregations(); Aggregate aggregation = aggregationsMap.get(aggregationName); for (var entry : termAggregation.sterms().buckets().array()) { //does something with it entry.key().stringValue(); entry.docCount(); } 但为了获得长期价值,我需要使用lterms方法 termAggregation.lterms().buckets().array() 是否有更好的方法来完成一件通用的事情,而不是像旧客户端中那样每次都检查聚合类型? 我探讨了你的问题。我找不到更好的方法来通用化解决方案。 lterms、sterms、dateHistogram 等方法不可通用(还有 isLterms、isSterms、isDateHistogram 等方法) 所以我的解决方案是枚举 public enum AggregationKind { TERMS_STRING { @Override boolean identify(Aggregate aggregation) { return aggregation.isSterms(); } @Override MultiBucketAggregateBase<?> getSpecificAggregation(Aggregate aggregation) { return aggregation.sterms(); } }, TERMS_LONG { @Override boolean identify(Aggregate aggregation) { return aggregation.isLterms(); } @Override MultiBucketAggregateBase<?> getSpecificAggregation(Aggregate aggregation) { return aggregation.lterms(); } }, DATA_HISTOGRAM { @Override boolean identify(Aggregate aggregation) { return aggregation.isDateHistogram(); } @Override MultiBucketAggregateBase<?> getSpecificAggregation(Aggregate aggregation) { return aggregation.dateHistogram(); } }; abstract boolean identify(Aggregate aggregation); abstract MultiBucketAggregateBase<?> getSpecificAggregation( Aggregate aggregation); public static List<?> getBucketList(Aggregate aggregation) { AggregationKind[] aggregationKinds = AggregationKind.values(); for (AggregationKind aggregationKind : aggregationKinds) { if (aggregationKind.identify(aggregation)) { MultiBucketAggregateBase<?> specificAggregation = aggregationKind .getSpecificAggregation(aggregation); return specificAggregation.buckets().array(); } } return Collections.emptyList(); } } 使用 SearchResponse<Void> response = elasticsearchClient.search(searchRequest, Void.class); List<StringTermsBucket> buckets = (List<StringTermsBucket>) AggregationKind .getBucketList(response.aggregations().get(aggregationName)); 如您所见,此解决方案适用于所有 Elasticsearch 存储桶聚合(MultiBucketAggregateBase子类(直接和传递))

回答 1 投票 0

ElasticSearch 正则表达式逻辑问题

我遇到了一些似乎无法克服的 ElasticSearch 问题,特别是正则表达式查询类型。我有一个名为 test-index 的索引。其中包含带有 url 字段的文档。一颗...

回答 2 投票 0

在 script_score 中使用嵌套值

我正在尝试在脚本分数中使用嵌套值,但我在使其工作时遇到问题,因为我无法通过文档访问该字段来迭代该字段。另外,当我尝试查询时我...

回答 3 投票 0

Logstash 无法连接到 Docker 内的 Elasticsearch -> 响应代码 401

我正在尝试将我的 Logstash Docker 容器连接到我的 Elasticsearch Docker 容器。 首先,我将向 Elasticsearch 展示我正在使用的配置: 我正在运行这两项服务...

回答 1 投票 0

如何查找elasticsearch/opensearch中的唯一字段并按其值排序(其他一些字段)? (在elasticsearch中查找一组不同的值)

我的elasticsearch中有一个包含多个字段的索引,我想从中获取2个字段组合(id,name)。如何编写查询以便我想要对结果进行排序(基于整个我...

回答 1 投票 0

如何在 Docker 内的 M1 (ARM) 上运行 ElasticSearch v6

如何在 Docker 内的 M1 (ARM) 上运行 ElasticSearch v6? ElasticSearch v6 不支持 ARM,也不是为 ARM 构建的

回答 1 投票 0

将 Elasticsearch 设置为只读模式

我正在尝试将我的 ElasticSearch 数据库置于只读模式,请按照以下页面操作: https://www.elastic.co/guide/en/enterprise-search/7.17/read-only-api.html 但是当我运行时 卷曲 -X GET http://loc...

回答 1 投票 0

如何处理反应前端中以错误顺序到达的服务器响应?

我的React前端中有一个搜索输入字段,用户可以在其中输入内容,每当值发生变化时,就会将发布请求发送到与弹性搜索通信的Web服务器。问题是

回答 4 投票 0

helm filebeat pod 在 AKS (Azure k8s) 上因 CrashLoopBackOff 崩溃,原因是:退出:无法获取锁定文件

我正在尝试使用此 Helm 存储库设置 Elk 集群:elastic https://helm.elastic.co。 Elastic-Search 已使用 helm install elasticsearch elastic/elasticsearch --namespace=

回答 1 投票 0

Node.js - AWS X-Ray 和 Elasticsearch 客户端,它们兼容吗?

是否可以仅通过使用客户端包装器来使用 AWS X-ray SDK 来检测 Node.js 应用程序,而无需使用段和子段?该应用程序有点遗留,它正在使用@

回答 1 投票 0

Elasticsearch Go 客户端错误:在中间件中索引文档时出现“无效的 JSON 格式:EOF”

我正在用 Go 开发一个中间件,它可以拦截 HTTP 请求,从请求正文中读取 JSON 数据,并根据此文档将其索引为 Elasticsearch 中的文档。 然而,虽然...

回答 1 投票 0

如何使用同义词模糊搜索?

在我将同义词文件添加到索引后,模糊性停止工作。看来,不可能同时使用它们。 我的查询: “询问”: { “dis_max”:{ “曲...

回答 2 投票 0

无法在elasticsearch和curator之间建立连接

我的 Elastic Search 和 curator 都部署在同一个 Kubernetes 集群和同一个命名空间中。我已经在 curator 配置中的用户名和密码中给出了弹性主机名、端口和 http 身份验证...

回答 1 投票 0

elasticsearch 错误:初始堆大小无效

我在Linux系统Debian GNU/Linux 12(书虫)上安装了elasticsearch elasticsearch-8.13.0-amd64.deb,方法是参考文档手动下载并安装Debian软件包。 还有...

回答 1 投票 0

Python到elasticsearch查询不同时间段的日志

我们拥有包含数千个应用程序的弹性搜索集群。我们想通过 python 脚本从弹性集群读取日志。 用例 : 获取最近 1 小时或 1 天的日志 如果出现错误5...

回答 1 投票 0

在 kibana 中使用检查字符串模式包含创建警报

嗨,我想检查我的 kibana 日志中是否存在特定的字符串集,如果存在,那么我想创建警报 例如我的模式Hello World 请求欢迎来到 Hello World 然后触发我...

回答 2 投票 0

同时使用redis和elasticsearch,但出现错误“availableProcessors is已经设置为[4],拒绝[4]”

错误:工厂方法“elasticsearchClient”抛出异常;嵌套异常是 java.lang.IllegalStateException: availableProcessors 已设置为 [4],拒绝 [4] 我只想使用 redis 和

回答 2 投票 0

Elastic Search 文档部分更新

我刚刚开始探索弹性搜索,并且坚持了我的项目中的一个要求。我尝试了很多事情,但没有任何对我有用。我在弹性搜索索引中保存了一个示例文档 ”

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.