问题标签 [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.
elasticsearch - 在 Elasticsearch 中,如何区分 Apple Inc. vs apple (fruit)
在Apple Inc上搜索“ apple ”一词时,需要做什么来制造/创造/区分。VS苹果(水果)
例如,在 Apple Inc. 和 apple as fruit 都存在的数据集中搜索如下查询:
或者
elasticsearch - Elasticsearch 7.x 断路器 - 数据太大 - 故障排除
问题:自从从 ES-5.4 升级到 ES-7.2 后,当我尝试从我的多线程 Java 应用程序(使用java 客户端)
编写并发批量请求(或/和搜索请求)时,我开始收到“数据太大”错误elasticsearch-rest-high-level-client-7.2.0.jar
到 2-4 个节点的 ES 集群。
我的 ES 配置:
来自 elasticsearch.log 的错误:
想法:
我很难确定问题的根源。
当使用 <=8gb 堆大小的 ES 集群节点(在 <=16gb vm 上)时,问题变得非常明显,因此,一个明显的解决方案是增加节点的内存。
但我觉得增加内存只会隐藏问题。
问题:
我想了解哪些情况可能导致此错误?
我可以采取什么措施来正确处理它?
(更改断路器值,更改 es.yml 配置,更改/限制我的 ES 请求)
elasticsearch - 基于字符串的数字接近程度的弹性搜索评分文档
假设我们在弹性索引中有以下格式的文档:
我们有一个类似的查询:
现在假设我们的索引包含 3 个文档
他们有不同的门牌号码,例如:
(注意 doc3 中的“a”)。
上面的查询将返回带有数字“11”的结果doc1(因为它更接近字母数字)。
期望的行为是首先返回具有最接近数值的文档。在上述场景中,这是编号为“120”的doc2。
我怎样才能做到这一点?
弹性搜索信息:
elasticsearch - Elasticsearch 7 - 防止字段被搜索
我知道我可以通过将启用的映射设置为 false来防止字段被索引。这确实按预期工作,但我担心将来需要其中一些字段。
在我的用例中,我正在搜索产品 SKU,t-shirt-small-red
虽然 ES7 确实返回了正确的结果,但它也返回了其他所有内容,因为我正在用 dates 索引created_at
andupdated_at
字段2020-02-08 00:00:00
。
至少就目前而言,我没有用在我的应用程序中搜索这些内容,因此我想要一种方法将这些内容从任何搜索中排除,同时将它们编入索引以备将来使用。我猜我将来可能想对这些执行过滤或聚合。
我知道我可以将搜索限制在一个字段中,但这也不起作用。除了这两个日期字段之外,我需要在每个字段中进行搜索。
elasticsearch - Kibana 和 elasticsearch 正则表达式不起作用
我正在尝试获得完全匹配的字段,但不幸的是 regexp 不适用于我。
我有弹性搜索 7.5.2
现在我正在尝试在字段内搜索字符串,例如
我有这个 urlField : /lang1/page1/ 和 /lang2/page1/ 和 /lang3/page1/ 等...
我尝试使用 reg 仅获取上述三个网址,但 Kibana 不断给我任何包含上述示例的任何内容:
但 Kibana 返回给我的结果也包含:
/lang1/page4/other/url/?blahblahblah 和 /hello/this/is/ayman/lang1
但我不需要那些我只需要上面的红色网址。
这里有什么问题?请指教
谢谢
docker - 使用 docker-compose 运行 Elasticsearch 7.6.0
我正在尝试使用 docker-compose 运行 elasticsearch 7.6.0。我收到一个错误。
下面是 docker-compose.yml
错误 :
elasticsearch - 在 ES 7.5.x 中将二进制字段数据读取到 byte[] 字段时出现转换异常
我的实体类定义如下:
和存储库定义如下:
在 ES 6.8.1(Spring Data Elasticsearch 3.2.0)中,我设法毫无问题地存储和读取二进制数据。
现在我想迁移到 ES 7.5.2,所以我将项目迁移到使用 Spring Data Elasticsearch 4.0.0。从那时起,当我尝试调用类似payloadRepo.findAll()
我得到转换异常的东西时:
Failed to convert from type [java.lang.String] to type [byte]
. 数据存储为 base64 编码字符串。
您是否知道发生了什么变化以及如何更改我的代码以正确读取此值?
谢谢
elasticsearch - 如何在 elasticsearch 中摄取 .doc / .docx 文件?
我正在尝试在我的弹性搜索环境中索引 word 文档。我尝试使用 elasticsearch 摄取附件插件,但似乎只能摄取 base64 编码数据。
我的目标是用 word 文件索引整个目录。我尝试使用FSCrawler,但遗憾的是它目前在索引 word 文档时包含一个错误。如果有人可以向我解释一种索引包含 word 文档的目录的方法,我将非常感激。
elasticsearch - 如何在以下 Elastic 搜索中添加自动完成功能?
我正在尝试根据用户搜索的内容添加自动完成功能。
目前,我有以下映射:
以下是我用于设置的代码:
这是我想要实现的:我想收集并存储对端点所做的所有查询,并对其使用自动完成功能。例如,迄今为止,所有用户都进行了以下查询 -
现在,如果有人搜索Rea
,则应建议以下自动完成查询:
这是基于迄今为止所有用户而不是单个用户所做的搜索。此外,我想分析一下在过去一个月中进行的最热门查询是什么。
我在 AWS Elasticsearch 服务上使用 ElasticSearch 7.1 版。
编辑:由于我的需求发生了一些变化,我已经大大偏离了最初的问题。如果这造成了任何麻烦,我深表歉意。