Elasticsearch way to explore https:https://cdn.v2ex.com/navatar/58d4/d1e7/615_normal.png?m=1579006963 https:https://cdn.v2ex.com/navatar/58d4/d1e7/615_large.png?m=1579006963 2025-09-13T05:48:08Z Copyright © 2010-2018, V2EX 大家好 Manticore Search 团队征询社区意见 欢迎反馈 tag:www.v2ex.com,2025-09-13:/t/1158927 2025-09-13T01:47:52Z 2025-09-13T05:48:08Z chenyang member/chenyang 老乡们 大家好
Manticore (这里是地址) 团队会根据大家的需要调整路线图, 还望大家不要惜言 好的孬的随便说

  1. Which Manticore product(s) do you use

    您使用哪款 Manticore 产品?

  2. What do you like about the Manticore product(s) you use?

    你觉得 Manticore 产品好用的地方是啥 哪些方面/功能满意?

  3. What features or functionalities do you think are missing?

    您觉得缺少了啥功能

  4. Are there any specific improvements or changes you would like to see?

    您最希望改进哪些功能

  5. How would you rate your overall experience with Manticore product(s)?

    您的整体使用体验怎么样? 打个分 最好写出依据

  6. How did you find out about Manticore, if you remember?

    您咋找到的 Manticore

]]> ElasticSearch 查询时如果不确定字段名如何进行搜索? tag:www.v2ex.com,2025-03-27:/t/1121443 2025-03-27T03:13:20Z 2025-03-27T03:24:39Z NASK member/NASK 有一个 map 集合,里面 key 的名称不确定,集合元素数量不确定。

我需要查询 map 集合内某个 key 为某个值的数据。如果是把 map 集合转为 json 作为一个字段存到 ES 的应该可以解决,因为这种情况下我的字段名是固定的,我只需要将查询条件分词,然后根据字段名去和对应的 json 去匹配就可以了。

但是如果 map 的 key 是 index 的字段名应该如何搜索呢?

比如查询输入的是 手机品牌(字段名) 小米(值),但是 map 的 key 只有 品牌(字段名) 比如查询输入的是 价格(字段名) 21 (值),但是 map 的 key 只有 手机价格(字段名) 

代码如下: 这段代码中 params 变量的 key 会作为字段名,value 会作为字段值

@Data @NoArgsConstructor @AllArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) @Document(indexName = "test_index") public class TopLevelParam implements Serializable { public static final String TECH_CODE="techCode"; public static final String PARAMS="params"; public static final String PARAMS_PREFIX="params."; @Id private String techCode; @Field(type = FieldType.Nested,dynamic = Dynamic.TRUE) private Map<String,Object> params =new HashMap<>(); } 
]]>
es 适合模糊查询吗? tag:www.v2ex.com,2025-02-17:/t/1112120 2025-02-17T11:37:13Z 2025-03-07T06:20:24Z BuGoooo member/BuGoooo 有 10 亿数据,字段有 60 位,就匹配查询前面 6 位和后面 6 位是一致的,想做到毫秒级的反馈,es 合适吗 各位大佬 ]]> opensearch data 节点,分片数均匀,磁盘存储不均匀, CPU 有些很高有些很低 tag:www.v2ex.com,2025-01-16:/t/1105679 2025-01-16T13:50:46Z 2025-01-14T13:49:46Z zhaoyeye member/zhaoyeye
这种情况怎么解决呢,open search 现在一直在迁移分片,但是始终不均衡 ]]>
关于 Elasticsearch 和 springboot 版本的依赖关系 tag:www.v2ex.com,2025-01-06:/t/1102976 2025-01-06T09:51:13Z 2025-01-06T09:50:13Z efxy107 member/efxy107 版本背景: springboot: 2.7.18; 测试环境 es: 7.17.9 ;客户生产环境腾讯云 es:7.5.1; 因为多个系统使用并且是云服务客户不考虑升级 es 版本;
问题: 执行 es 操作报错:Invalid or missing build flavor [ OSS ] ;发现是 es 和 springboot 版本不匹配;
行动: 在不考虑降低 springboot 版本前提和本地尝试搭建官网 7.5 的版本( 7.5.2 )做问题复现;客户 es 的 build_flavor 属性为 OSS ;我分别下载了 oss 版本和 default 版本;自测发现在 default 就不会有版本不一致导致得问题,只有 OSS 版本才会出现;了解了 OSS 和 default 的区别在于商业化,并且 default 包含 OSS 所有功能;
我的疑问
1. 我指定了 es 连接的版本并且移除 springboot 默认的 es 版本还是无效,是我操作有问题还是什么
2. 为什么会提供 OSS 这种版本,大家生产环境是怎么选择的

]]>
IK 分词器里自带的.dic 文件会被默认加载吗 tag:www.v2ex.com,2024-12-02:/t/1094375 2024-12-02T07:07:52Z 2024-12-02T08:32:44Z GSSSS member/GSSSS ‌Elasticsearch 怎么检索 oss 里面的文件 tag:www.v2ex.com,2024-10-16:/t/1080810 2024-10-16T06:49:50Z 2024-10-16T12:57:39Z skuyu member/skuyu 大量短记录字段的模糊查询如何实现? es 的分词器如何实现多语种记录的转换和分词呢? tag:www.v2ex.com,2024-07-02:/t/1054373 2024-07-02T15:16:32Z 2024-07-02T16:25:14Z 31415926535x member/31415926535x 针对按月分片每月近 1ooow 的记录,其中有一个字段是 姓名 (中文居多,存在一部分繁日英,长度在[2, 50]左右,大部分都是 3 个字符)

现在业务侧要求尽量实现:

我的问题是,如何实现这样的分词器呢?

先感谢 dalao 们回复

]]>
CVE-2023-31419 es 漏洞除了升级版本还有其他解决方式吗? tag:www.v2ex.com,2024-06-27:/t/1053100 2024-06-27T06:59:08Z 2024-06-27T08:30:19Z mirrornighth member/mirrornighth 请教个 es 向量查询的问题 tag:www.v2ex.com,2024-06-19:/t/1050773 2024-06-19T02:19:40Z 2024-06-19T15:05:08Z wueryi member/wueryi 背景:

问题

目前想前台使用这种向量查询的结果 但是问题是目前单次查询的效率很低基本上得 60s 左右才能返回。

其他

]]>
ES 新人请教大佬精确查询的问题 tag:www.v2ex.com,2024-06-09:/t/1048081 2024-06-09T05:50:58Z 2024-06-12T09:04:59Z colinxt member/colinxt 本人是 ES 新人,目前被安排一个项目有 ES 的,大概背景如下:

SaaS 项目,没有分库,ES 存储文章内容,并发不高没做分布式。ES 由前人设计,7.9 版本,一个索引存了所有数据,包括文章正文、标题、作者、摘要等等。正文采用 text 类型。整个索引用了 ik 分词并设置为 ik_max_word ,正文字段的搜索分词用 ik smart ,并设置了 fielddata 。

现在有租户提需求,希望通过关键词查询正文,并且要求结果里一定要出现完整的关键词。听上去很普通的需求?但是有问题啊啊,用 term 一直都会返回一些,不多,但完全没有搜索关键词的结果。

一开始以为是保留词的问题,所以把用户关心的几个关键词全加到保留词列表里( ik/config 下面,并配置好,重启,重建索引),但结果还是一样。也试过用 .keyword ,查询结果数量更少了。。

查了网上很多资料,看上去很简单的问题。有没有大佬给指个路?

感恩感恩。

]]>
一个月写了一个 ES GUI 客户端(笑) tag:www.v2ex.com,2024-06-06:/t/1047534 2024-06-06T17:50:22Z 2024-06-25T20:03:07Z bronyakaka member/bronyakaka 之前写了个 Kafka 客户端,反响还不错,无聊又写了个 ES 客户端,也算花了不少精力,感兴趣的可以试试

下载地址: https://github.com/Bronya0/ES-King , 支持 win 、mac 、linux 平台

多种配色可选,例如猛男粉:

]]>
现在用 ES 还推荐通过分词插件的方式对 query 和 doc 进行处理吗? tag:www.v2ex.com,2024-06-06:/t/1047445 2024-06-06T09:36:07Z 2024-06-22T08:50:55Z doraemon0711 member/doraemon0711 最近在搞一个搜索框架,同步不同的业务数据,用 es 提供搜素服务 一开始想把 query 和 doc 的分词、NER 等处理自己通过代码实现一个服务(调用现成的包,例如 hanlp )然后将构建好的 doc 索引 json 存到 mongodb 中,在通过 es connector 的同步数据到 es 中;用户搜索的 query 也通过该服务进行分词等处理,同样在 es 返回搜索结果后还有个排序服务来修正排序

后来想了一下这么做是不是复杂度有点太高了,现在 es 已经集成了大部分功能,自己开发服务的效果也不一定有保证,是不是直接用 es 自身来做就好了

想了解一下各位是怎么做的,es 集成的中文分词插件怎么样,以及需要重建索引怎么做比较好(这也是我想把分词外置的原因,可以提高一下重建速度)

]]>
旧的 elasticsearch 集群能直接加到新的吗? tag:www.v2ex.com,2024-06-03:/t/1046391 2024-06-03T07:25:12Z 2024-05-14T08:25:12Z iblessyou member/iblessyou 两个集群的版本均为 7 版本最新,密码证书一致。

旧 elasticsearch 集群,几个节点都是全角色(主节点、数据节点),有数据。 现在新建了一个大集群,分开了节点角色,索引和数据为空。

能不能把旧集群的主节点功能禁用,只当数据节点,然后修改集群发现的配置,直接接到新集群里来。

这样问主要是不想折腾数据导入导出了。

]]>
elasticsearch-analysis-ik 远程扩展词典最佳实践是? tag:www.v2ex.com,2024-05-16:/t/1041400 2024-05-16T09:30:47Z 2024-07-01T00:11:21Z Nostalgia member/Nostalgia 我的词库文件是提交在 GitHub private repository 里的,尝试了两种方法:

1. 用 GitHub 的 classic PAT(personal access token) 形式提供一个 URL 鉴权,形式: https://x-access-token:TOKEN@raw.githubusercontent.com/<user or organization>/<repo name>/<branch>/<path to file>/<file_name>
发现 cURL 还支持这种 URL ,但现代浏览器( Chrome 、Safari )都不再支持这种形式,elasticsearch-analysis-ik 也不支持。
这种方法最简单优雅,可惜没跑通。
2. Nginx 监听一个 localhost 下的端口,作为文件服务器。词库文件指向 Git 目录,该目录以固定频率去 pull 代码。

请问大家有更优雅的实现么?谢谢大家。 ]]>
有没有精通 es 搜索的,可付费咨询 tag:www.v2ex.com,2024-04-18:/t/1033603 2024-04-18T06:44:41Z 2024-04-30T14:11:27Z findlisa member/findlisa es 相似度查询 tag:www.v2ex.com,2024-04-16:/t/1032845 2024-04-16T02:34:06Z 2024-04-16T03:14:42Z findlisa member/findlisa
简单来说需求是

根据名称查数据,返回每条数据的相似度(类似的得分吧) 相似度区间要求在 0-1 之间

实在没思路啦,求指导 ]]>
商城项目中 ES 搜索怎么进行分词优化? tag:www.v2ex.com,2024-03-15:/t/1024002 2024-03-15T07:18:58Z 2024-03-15T10:24:26Z 3country member/3country
比如一个商品是 XL 汤锅,搜索锅是查询不到的

某个商品为 XX 护关节钙片,搜索护肝是可以搜索到的(运营的意思是应该搜索不到)

有大佬给支个招吗? ]]>
基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor tag:www.v2ex.com,2024-03-08:/t/1021725 2024-03-08T02:33:46Z 2025-10-08T08:09:41Z Casbin member/Casbin

前言

ELK 的一大缺点就是这东西最初是没有登录机制的,只要拿到了 url 地址,kibana 看板谁都可以访问一下。后来 ELK 自带了一套 xpack 进行登录认证,可是除了账户名密码登录这种最原始的方法,剩下的高级功能,比如 oauth, oidc, ldap ,统统都是收费的.....总不能给每个人都专门搞一个 kibana 账户名密码吧......

所以呢,这里有一个基于 casdoor 的 elk 鉴权解决方案,不要钱,开源的,还有人维护呢~。Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,而 casdoor/elk-auth-casdoor 这套解决方案,则是一个反向代理,他可以拦截所有未经登录的前往 elk 的 http 访问流量,并且引导未登录用户进行登录,而且这个反向代理对已登录用户是完全透明的。

仓库地址 https://github.com/casdoor/elk-auth-casdoor

QQ 群:645200447

如果您有更多相关的特殊需求可以加群,我们会有专人对接~ (可以联系 ComradeProgrammer )

casdoor 是什么

Casdoor 是一个基于 OAuth 2.0 / OIDC 的 UI 优先集中认证 / 单点登录 (SSO) 平台,简单点说,就是 Casdoor 可以帮你解决 用户管理 的难题,你无需开发用户登录注册等与用户鉴权相关的一系列功能,只需几个步骤,简单配置,与你的主应用配合,便可完全托管你的用户模块,简单省心,功能强大。

仓库地址: https://github.com/casbin/casdoor

演示地址: https://door.casbin.com/

官网文档: https://casdoor.org/

QQ 群:645200447

Casdoor 还支持 ldap ,saml 等诸多功能.....

Casdoor 目前作为 Casbin 社区项目统一使用的鉴权平台,项目已开源,希望得到大家的一些建议和 Star~,我们会及时跟进反馈并改正问题哒

Casdoor 又有哪些特性?

  • 支持普通的账户密码注册登录,也支持各种常见的第三方认证,例如 GitHub 、Facebook 、Google 、Wechat 、QQ 、LinkedIn 等等,截止目前共 9 个平台,并在不断听取用户建议对更多的平台提供支持。
  • 管理方便。Casdoor 内部将模块分为了 5 大类,Organization 、User 、Application 、Token 和 Provider 。可以同时接入多个组织,组织下有不同应用,用户可以通过应用或组织分类,单独管理任何组织、应用或用户的 Token 令牌,轻松管理复杂系统,目前已部署在 Casbin 社区各种系统当作鉴权平台。
  • 自定义程度高。Casdoor 可以随意修改登录方式,例如是否允许密码或第三方登录,自定义应用的注册项数量,是否启用两步验证,以及是否允许各个 Provider 登录、注册等等,高度可插拔。
  • 具备 Swagger API 文档。清晰的 API 介绍,无需阅读源代码即可直接方便调用各个 API 接口,提供定制化功能。
  • 前后端分离架构,部署简单。作为统一认证平台,除了性能,稳定性,新特性之外,易用性也是考量的重要标准,Casdoor 后端使用 Golang 语言开发,前端使用 React.js 框架,使用者只需启动后端服务,并将前端工程文件打包,即可直接使用,操作简单,上手难度低。 ...
]]>
请教一个 ElasticSearch 相关的业务问题 tag:www.v2ex.com,2024-03-06:/t/1021070 2024-03-06T05:12:48Z 2024-03-06T15:44:37Z sbhhhhhh member/sbhhhhhh 功能简述:我们有一批数据存在 ES 上(每个数据有一个唯一 ID ),然后每个用户可以对这个数据进行转存(转存后会在 mysql 记录一条 userId 与数据 ID 的关系)。 用户 ID 长度为 14 字符长度。

对客提供搜索功能,其中有一个过滤条件是过滤用户已转存数据。 现在问题是如果有 2000 个用户都对同一个数据进行了转存 那该怎么实现这个方案呢? 最开始我想的是在 ES 上加一个转存用户 ID 列表 但是如果 2000 个用户都正好在一个热点数据上 岂不是这个字段需要挂一个 2000 个元素的列表,好像不太好?

所以请教各位大佬 行业有什么标准方案吗 或者有推荐的思路

]]>
elasticsearch 查询、新增、更新数据都时快时慢怎么办? tag:www.v2ex.com,2024-02-05:/t/1014291 2024-02-05T01:20:12Z 2024-02-05T03:17:42Z kisshere member/kisshere 业务代码、服务器、访问量都没变,以前 CURD 操作都很快,这些天突然变慢,然后偶尔又变得很快,但大部分时间都变慢了,这是怎么回事?

]]>
请教 ES 怎么实现如下聚合查询: 按某关键字分组,每个分组找到最近的一条记录,筛选这条"最近记录"中状态字段为"特定状态" tag:www.v2ex.com,2024-01-29:/t/1012512 2024-01-29T09:00:14Z 2024-01-29T13:19:44Z chana71 member/chana71 原始数据类似

[ { "doc_key": 'a', "startsAt": '2024 年 1 月 29 日', "status": 'a' }, { "doc_key": 'a', "startsAt": '2024 年 1 月 30 日', "status": 'b' } ] 

对上面样例 需要返回 doc_key=a, status=b的记录。

通过翻文档目前我实现的

{ "aggs": { "unique_doc": { "terms": { "field": "doc_key", // 每个 doc_key 有多条记录 } }, "aggs": { "latest": { "top_hits": { "size": 1, "sort": [ { "@timestamp": { "order": "desc" } } ] } }, "pagination": { "bucket_sort": { "size": 10, "from": 0 } } } } } 

问题: 没有实现最后一步状态过滤。 理想是在 top_hits 中能有个 filter 过滤status字段,然后结合bucket selector 过滤 hit count != 0 的桶。
请教各位大佬该怎么做?

]]>
除了 kibana 还有哪些可视化的 es 镜像恢复方案? tag:www.v2ex.com,2024-01-23:/t/1010974 2024-01-23T10:22:17Z 2024-01-23T12:20:17Z purenothingform member/purenothingform 一直用的 kibana 镜像备份功能。本地镜像导入服务器解压 不过突然无法识别,提示 You don't have any snapshots yet 请问除了 kibana 还有哪些可视化的快照备份恢复方案? curl 之类纯 rest 方案看着心累,生怕一个字符复制错误就失败

]]>
请教下各位大佬,如何在固定的 index 实施 ILM? tag:www.v2ex.com,2024-01-21:/t/1010417 2024-01-21T06:17:44Z 2024-01-28T07:01:08Z lisonfan member/lisonfan 我正在使用 APISIX (https://github.com/apache/apisix) 的 elasticsearch-logger 插件向 es 写入日志,但是这个插件不支持按日期新建索引,只能是一个固定的值,比如 apisix_log;同时这个插件也会写入一个别名叫 apisix;我在网上搜索了很多资料,包括也问题 ChatGPT 4,但是都没有解决我的问题,像这种情况如何做 ilm

]]>
es8.11.x 是否可以可视化接入 LDAP 呢? tag:www.v2ex.com,2024-01-16:/t/1009075 2024-01-16T06:49:02Z 2024-01-16T09:04:24Z jack1998 member/jack1998 -v config/:/usr/share/elasticsearch/config 使用 office 的 8.11.1 es 镜像)
官方文档和 google 只找到了在 elasticsearch.yml 中加入 xpack 的方案接入(失败)如下:
xpack:
security:
authc:
realms:
ldap1:
type: ldap
order: 0
url: "ldap://xxx.com:389"
bind_dn: "cn=username, ou=people, dc=example, dc=com"
bind_password: password
user_search:
base_dn: "dc=example,dc=com"
filter: "uid={0}"
unmapped_groups_as_roles: false
native1:
type: native
order: 1
由于 license 是破解的,需要 run 之后进入 kibana 上传 or 采用 curl 方式 ]]>
es 比如京东搜索商品的时候,如果输入是数字直接搜索,会直接按照分词查询还是通过正则等其他方式进行搜索了 tag:www.v2ex.com,2024-01-11:/t/1007947 2024-01-11T14:09:59Z 2024-01-11T15:09:59Z SilenceLL member/SilenceLL 比如商品名称或者编码里面有数字,正常不会对数字进行再次分词,如果客户搜索的是名称或者编码中部分数据。比如条码是 237189478 , 客户搜索 18 ,如果不分词的情况下是搜不出来的。一般这种都是怎么处理了。是像下面这种方式吗: https://learn.microsoft.com/en-us/azure/search/search-query-partial-matching

]]>
请教并发问题(Elasticsearch 请求高峰) tag:www.v2ex.com,2024-01-05:/t/1006106 2024-01-05T03:57:32Z 2024-01-05T06:09:10Z wukaige member/wukaige 目前使用 Elasticsearch 做了一个搜索服务,潜在用户大约 100w 。

想问一下如何扛过搜索高峰,试过阿里云的 Elasticsearch Serverless 服务,但是有限制,每秒钟只能通过 60 个请求,多余的会被拒绝掉。有什么别的办法吗

]]>
关于 elasticsearch 机器的选择 tag:www.v2ex.com,2023-11-29:/t/996268 2023-11-29T07:59:32Z 2023-11-29T16:20:13Z Q9K member/Q9K 我们小组现在有 2000-2500 的预算购买一个服务器,我们的数据量在 1 亿到 10 亿之间, 我们需要购买一个月的云服务, 最后验收的时候需要达到秒级查询和 1000-10000qps 的要求, 我们看了一下华为云的服务器,这个预算可以让我们买 3 台 4 核 16G 的机器 或者 1 台 8 核 64G 的机器 我们想问一下 我们应该怎么选择 或者大家有没有推荐更好的选择

]]>
elasticsearch 从 5.x 版本后就不允许使用 _id 字段进行排序了. 想问问新版本有什么办法? tag:www.v2ex.com,2023-11-03:/t/988441 2023-11-03T13:50:56Z 2023-11-03T13:50:56Z no13bus member/no13bus 因为我现有的 es 数据库里面的 _id 字段写入的时候是递增写入的,格式类似这样的: "w:1", "w:2", "w:3"...."w:100", 我想让搜索到的数据按照 w 后面的数字进行排序。但是因为我目前的版本是 8.x 版本,从 5.x 版本后就已经不允许 es 数据库按 _id 进行排序了。有解决方案是增加一个新的字段,将 _id 里面的值复制到新字段里面去。但是目前这个数据库已经存在了, _id 的写入逻辑我无权控制, 我目前只是可以增加字段。

然后我看到了一个 copy_to 的功能, 就想着直接增加一个新的 field 到 index 数据库里面去,这样每次插入的时候,自动复制 _id 的值到 id 字段上,然后搜索的时候就直接用 id 对结果进行排序就好了。但是试了下不行,增加新 id 的句子如下:

PUT /my_index4 { "mappings": { "properties": { "_id": {"type": "keyword", "copy_to": "id"}, "name": {"type": "text", "copy_to": "total"}, "age": {"type": "integer"}, "type": {"type": "keyword"}, "id": {"type": "keyword", "store": true} } } } 

直接报错了,说 _id 字段重复。这样的话,有什么解决办法吗?

]]>
ELK 版本问题以及服务器数量问题 tag:www.v2ex.com,2023-10-20:/t/983918 2023-10-20T13:57:52Z 2023-10-20T13:54:52Z sidewalkerLin member/sidewalkerLin 想问下大家公司里面都是用的 ELK 的哪个版本呀?版本这块有什么注意事项么? 另外就是 elasticsearch 的节点数量有几台?收集了多少台机器的日志呢?

]]>
[求付费技术支持-ES]写入超慢 tag:www.v2ex.com,2023-10-10:/t/980702 2023-10-10T09:12:47Z 2023-10-10T10:45:37Z DavidWei member/DavidWei 写入截图

ES 写入非常慢(如上图所示),使用 k8s + nfs ,这块不是很熟悉,有偿求技术支持。

有意的老哥,可留下联系方式。

有效期:10/10 —— 10/11

]]>
Elasticsearch 新增字段匹配查询的问题 tag:www.v2ex.com,2023-10-10:/t/980584 2023-10-10T04:52:31Z 2023-10-10T09:06:46Z iian member/iian 时间 域名 URI 账号

目前思路是通过 logstash 读 kafka 数据,拆分后进 es 中建索引,但是最终想统计的是账号所在的部门对某个站点的访问量,例如:1 个月内,技术部,访问 www.163.com 的次数。

现在索引里面只有账号信息,账号和部门的对应关系在其他数据库中,应该如何把部门信息与账号匹配后存在 es 中?

现在想到的两种方式(但是不知道是否可以以及如何实现)

1.将账号和部门信息存在文件或 redis 里,logstash 有多个 input ,同时从 kafka 和文件读,从 kafka 读一条日志的时候,用账号去匹配部门,然后一起写到 es 中,如果可以,需要用 logstash 如何来实现?

2.logstash 正常处理日志进 es ,在 es 中新增一个部门字段,然后用账号匹配部门信息(不知道如何实现),写到这个新字段里。这样应该用到 es 的什么功能?

Elasticsearch 新手,望不吝赐教。 ]]>
请教一个 elasticsearch 的模糊查询语法 。 tag:www.v2ex.com,2023-06-17:/t/949617 2023-06-17T14:45:54Z 2023-06-17T16:18:40Z EagerTo member/EagerTo { "wildcard": { "content.keyword": "你好" } }

这样的语法是可以实现模糊搜索的,因为 content 是富文本内容。如果 content 的内容文本大小超过 ignore_above 的设定,那就不会被索引,也就是即使有关键词匹配到,文档也不会被搜索到 ,而 ignore_above 也是有大小限制,请问这种需求应该怎么处理 。感谢

]]>
ES 高频词怎么优化 tag:www.v2ex.com,2023-06-03:/t/945566 2023-06-03T15:10:06Z 2023-06-03T16:10:06Z gaoyangang member/gaoyangang logstash 使用 redis input 插件时,要如何支持 redis cluster? tag:www.v2ex.com,2023-03-20:/t/925606 2023-03-20T08:59:51Z 2023-03-21T23:07:18Z pedward member/pedward 看 redis input 插件的文档: 配置 host 的类型是 string,不支持 list 的。 各位有什么好的解决方案

]]>
Elasticsearch 底层日期存储格式疑问? tag:www.v2ex.com,2022-12-15:/t/902642 2022-12-15T02:19:01Z 2022-12-15T03:47:36Z deadlyn member/deadlyn ES 官网说,

若有大佬知晓,还请不吝解释。

以下为官网原话

  • Values for milliseconds-since-the-epoch must be non-negative. Use a formatted date to represent dates before 1970.
  • Internally, dates are converted to UTC (if the time-zone is specified) and stored as a long number representing milliseconds-since-the-epoch.
  • Queries on dates are internally converted to range queries on this long representation, and the result of aggregations and stored fields is converted back to a string depending on the date format that is associated with the field.
  • Dates will always be rendered as strings, even if they were initially supplied as a long in the JSON document.
]]>
100G 8000 万条信息全文检索, Elasticsearch 是最优选择吗? tag:www.v2ex.com,2022-11-17:/t/895917 2022-11-17T05:33:46Z 2022-12-11T21:18:37Z pysex member/pysex 数据存 MongoDB ,Elasticsearch 只存索引结果=最优选择
还是数据做双写

]]>
elasticsearch 首次搜索过慢的问题, 4 千万数据 tag:www.v2ex.com,2022-11-09:/t/893899 2022-11-09T08:54:37Z 2022-11-09T15:51:52Z tellmeworld member/tellmeworld 版本:elasticsearch 7.8

索引就两个字段,id 和 content ,主要就是实现 content 的模糊搜索

现在单索引 4000 万数据,大小为 35G ,机器内存 16G

刚开始一千多万数据的时候第一次搜索 2-3 秒,后面搜索基本上 1-2 秒

两千多万的时候首次搜索 5-6 秒,后面搜索 2-3 秒

现在三千多万数据了,首次搜索达到了 10 秒,后续搜索 3 秒左右

这种情况怎么做预加载?看手册用 Eagerly load fielddata 和 Eagerly load global ordinals 都行不太通,内存分给 es 就 8G ,content 字段肯定就超过 30G 了,不可能丢到内存里面去。

还有什么办法?

]]>
求教,是否可以把所有高亮的结果合并成一個结果? tag:www.v2ex.com,2022-10-09:/t/885624 2022-10-09T13:18:19Z 2022-10-09T14:15:19Z purenothingform member/purenothingform 例如将以下三条结果合并为后者

 我很 开胃<span style='background-color:greenyellow'>健脾</span>补元气 <span style='background-color:greenyellow'>我</span>很 开胃健脾补元气``` ```<span style='background-color:greenyellow'>我</span>很 <span style='background-color:greenyellow'>开胃</span><span style='background-color:greenyellow'>健脾</span>补元气``` 还是只能自己实现?
]]>
为什么 ELK 都不提供一个在命令行停止/关机的命令? tag:www.v2ex.com,2022-09-29:/t/883829 2022-09-29T07:32:24Z 2022-09-28T23:31:24Z NULL2020 member/NULL2020 RT

好像找了几年都没找到。。

]]>
ES 如何让中文词条排序靠前? tag:www.v2ex.com,2022-09-16:/t/880478 2022-09-16T02:44:47Z 2022-09-16T03:52:00Z SpringChang member/SpringChang 我的 ES 某个索引中,有个 text 字段,支持 keyword 检索,包且仅包含中、英文,现在我的需求是让纯中文的内容检索出来的时候排序靠前,请问如何实现?

栗子:
name age sex
张三 20 男
李四 21 男
alice 20 女
bob 22 男
张翠山 18 女
julia 19 女

要求:
让张三,李四,张翠山靠前,alice, bob, julia 靠后。 ]]>
ES 从 File System Cache 到 Segment 大概会耗时多少呢 tag:www.v2ex.com,2022-08-25:/t/875393 2022-08-25T09:54:25Z 2022-08-25T12:51:27Z monetto member/monetto 看 ES 原理,有一段大致是这样介绍的。

ES 将数据写入到 Memory Buffer ,同时也会将数据写入到 Translog 。

Memory Buffer 在历经 Refresh Interval ( 1 秒) 之后会把数据写入到 File System Cache ,再由 File System Cache 写入到 Segment 。

而 数据写入到 Translog 之后,要经过 5 秒 才会持久化到磁盘 log 中。

我理解 Translog 本身应该是类似于 MySQL Binlog 一样是防止数据丢失的。

但是目前看来 5s 的时间是否过长了,我理解 5s 怎么也完成 数据 从 内存 持久化 到 Segment 了啊..

]]>
elasticsearch query url path 语法请教 tag:www.v2ex.com,2022-08-15:/t/873016 2022-08-15T09:29:32Z 2022-08-15T09:40:26Z cxytz01 member/cxytz01 截图

图中数据源,源于 nginx 请求日志。需要对指定 url path 进行匹配,忽略 query 参数。比如需要通过 /helloworld/haveadrink 匹配以下 url:

请问该怎么写 query 语句?

]]>
elk 后台 discover 怎么展示新增的字段 tag:www.v2ex.com,2022-07-22:/t/867951 2022-07-22T03:21:25Z 2022-07-22T05:42:11Z awanganddong member/awanganddong elk 后台最开始通过 api 接口创建的索引,然后通过索引管理添加索引,最后在 disvoer 查看检索索引。

然后根据需求变更在该索引增加了字段,

但是 在 discover 这一项,一直查看不到新增的索引字段,

请问下,该如何操作,才能让该索引字段展示出来

]]>
有关 es 中 scroll 的疑问 tag:www.v2ex.com,2022-07-14:/t/866108 2022-07-14T04:02:59Z 2022-07-14T05:01:59Z rqxiao member/rqxiao 1.query
搜索请求被发送到某个节点时,这个节点就变成了协调节点,协调节点会转发请求到索引的每个主分片或副本分片中。每个分片在本地执行查询并添加结果(ID 和排序值)到大小为 from + size 。如果有 n 个节点。协调节点会收到 n*(from + size) 的结果(ID 和排序值)。

2.fetch
协调节点 接收到 n*(from + size)的结果,将其全局排序。然后取当前页的数据,向相关的分片取完整的数据。



那 scroll 完成分页,不也要经历这两步? 第二步 fetch 阶段不也是耗性能的深度分页吗?是不是说 scroll 第二部只做一次,然后将其全局的数据保存成一个快照。之后就不会取 fetch 。 但是 from ,size 是每次都要做 fetch ? ]]>
请教 Elasticsearch 使用什么 ETL 工具 tag:www.v2ex.com,2022-06-30:/t/863188 2022-06-30T06:32:54Z 2022-06-30T11:09:28Z yeyang5211 member/yeyang5211 接手半年发现自己一直在做 ETL 相关的工作.

现有的方案是 :
1.接受数据变更 MQ 消息
2.去 MySql 查询业务数据组装成 JSON
3.合并更新 MongoDB 中..
4.跑批更新到 ES 中(一个比较复杂的树形结构)



现有的问题 :
1.跑批任务经常卡死,不可靠
2.业务变动,总是需要我去开发 java 代码



我寻思 ES 这块应该有工具的,所以我去查了一下 Kettle 应该符合我的要求.

设想是跑批任务定时拉去 Mysql 拉去业务表的变动,然后通过一系列的转换流程补充成完整的业务 JSON(多张数据表组装成 JSON),在更新到 es 中(省了 MongoDB 这步)

询问了下我们公司的数仓同事,他们也在用阿里云的 DataWorks 工具.我研究了下发现这个工具只能做简单的同步数据映射,达到我设想的多张表聚合成一个 JSON 貌似要使用 EMR 引擎,我对这块特别不熟悉.完全没有头绪感觉 EMR(我理解为大数据相关的工具)学习成本太高了..





总结一下想了解的问题:
1.如果有其他方案,请不吝赐教
2.麻烦帮我权衡一下使用 Kettle 还是 DataWorks(二个都不会用,不是很想学大数据相关的技术 纯门外汉)
考虑 DataWorks 的原因是我们公司喜欢上云服务,减轻运维压力 ]]>
es 插入索引的正常性能应该是多少? tag:www.v2ex.com,2022-06-15:/t/859879 2022-06-15T13:59:56Z 2022-06-16T16:50:29Z winRain member/winRain 背景:由于公司业务需要,引入了 es 。于是,我在公司内网虚拟机( 8c8g ,固态硬盘)上用 docker compose 启动了一个 es 和 kibana ,并给 es 的 jvm 分配了 6g ,并配置了一些 jvm 参数。

当我用 spring data elasticsearch 的 repository saveAll 操作去批量插入 100 条数据时,发现耗时在 200 ms 左右。其实我感觉这个速度跟正常用公有云的 rds 批量插入数据是差不多了。

那么问题来了,es 这个插入速度是正常的吗,是不是还有其他优化参数可以配置,用来提升这个插入性能?如果这样是正常的,那么 es 在插入和查询上相比于 rds ,在实际应用中,优势体现在哪些地方呢?

]]>
Elasticsearch 类 top_hits 复杂搜索问题 tag:www.v2ex.com,2022-06-14:/t/859623 2022-06-14T13:06:32Z 2022-06-14T17:06:46Z iSNN member/iSNN 父子关系的索引,match 一个字段,比如字段 name ,匹配父索引的 name 或子索引的 name 。

最终返回前端结构是一个父,带三子。优先匹配父 name ,然后找三个子,三子也按 name 匹配排序。如果父 name 没匹配,那就是子 name 匹配了也算。

具体场景就如 公司-员工结构,搜索的名字可能匹配公司名,或者员工名。优先匹配公司名,然后下面展示 3 个员工名。员工名也是按匹配优先度排序。

eg:
搜索 name match 张三
1. 张三有限公司(张三,王五,xx )---- 公司名含张三,员工名含张三 最优先
2. 张三无限公司( xx ,xx ,xx ) ---- 公司名含张三,员工名不含张三 次优先
3. 李四有限公司(张三,xx ,xx ) ---- 公司名不含张三,员工名含张三 最低优先
公司、员工都不含张三则不符合条件

看到个 top_hist 但里面 hits 的内容是不能 match 排序

大佬们有什么好的方法吗 ]]>
ES 如何实现这种多维度多条件的搜索? tag:www.v2ex.com,2022-06-13:/t/859239 2022-06-13T03:30:43Z 2022-06-13T15:57:55Z knightdf member/knightdf 奈何 ES 搜索玩的不 6 ,请教大佬 ES 搜索怎么实现这种类似 Linkedin 的搜索?
每个维度可以选择 0 个,1 个或多个条件

Screen Shot 2022-06-13 at 11.22.22.png

]]>
elasticsearch 索引备份 tag:www.v2ex.com,2022-05-17:/t/853384 2022-05-17T02:52:40Z 2022-05-17T05:45:54Z yingqiuQAQ member/yingqiuQAQ
  • 有大佬知道可以将 es 索引备份到公司内部的 oss 上吗,官网上说明支持 s3 和 aliyun oss
  • ]]>
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86