elasticserach
天道988
既然选择了IT,就做好了终身学习的准备!
展开
-
es elasticsearch kibana 根据 id 只更新部分字段
es elasticsearch kibana 根据 id 只更新部分字段原创 2022-07-14 18:36:56 · 2819 阅读 · 0 评论 -
es elasticsearch painless 脚本中 HashSet 的使用
es elasticsearch painless 脚本中 HashSet 的使用原创 2022-07-08 14:43:39 · 560 阅读 · 0 评论 -
es 精确查找思路以及实现过程
先交代几个概念:1. 题库题库中保存了所有的题目数据。2.eses 是 elasticsearch ,es 同步了题库中的所有题目。3. 重题两道题目内容完全一样的题,肉眼看起来是一样的。题目里有 latex 公式,不同的 latex 公式展示后看起来可能是一样的。4. es 打分es 会对匹配到的结果集进行打分,分值越高的结果越排在前面。另外,还涉及到分词、倒排索引这两个概念,这是搜索引擎的基本原理。5. 分词一段文本在保存到倒排索引之前需要先分词,查询的时候都是按分词来匹配的。英原创 2021-07-21 11:44:48 · 4835 阅读 · 2 评论 -
把相邻的数字和英文字符用空格分隔开
最近在优化 es 搜索的时候,遇到个需求,需要把连着的数字和英文字母分隔开。从而让 es 把相邻的数字和英文字母分为 2 个词,因为我们用的是 ik_smart 而不是 ik_max_word ,ik_smart 会把相邻的数字和英文字母分为一个词。所以这部分工作就需要由应用端来完成。需求已经交代清楚了,例如把: 123hello你好最终处理为:123 hello 你好上代码:/** * @Author:shifengqiang * @Date:2021/5/28 9:24 上午 */原创 2021-05-28 09:28:28 · 541 阅读 · 0 评论 -
ES elasticsearch 的 索引 alias 别名的添加
原文链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-add-alias.htmles 的索引别名和索引名称在好多地方都是可以等价使用的。可以先创建索引,然后再添加别名。也可以在创建索引的同时创建别名。先创建索引,再创建别名。PUT /my-index-name/_alias/alias1my-index-name 是你的实际的索引名称,根据实际情况修改。_alias 不用改,也不能改,是固定原创 2021-05-13 10:05:20 · 2893 阅读 · 0 评论 -
怎样查询 elasticsearch es doc 文档中的 version 版本号
参考链接:https://stackoverflow.com/questions/39016589/how-to-get-the-docs-version-field记录一下:GET doc_detail/_search?version=true{ "query": { "terms": { "_id": [ "1", "2" ] } }}需要加一个 version=true 的参数,返回结果中就会返回 versio原创 2021-04-25 14:05:56 · 4209 阅读 · 0 评论 -
ik 分词器远程扩展字典、停用字典配置,热更新扩展字典、停用字典
ik 分词器官网:https://github.com/medcl/elasticsearch-analysis-ikik 分词器扩展字典本地配置:https://blog.csdn.net/shfqbluestone/article/details/115524821?spm=1001.2014.3001.5501首先编辑 ik 的配置文件 /xxx/elasticsearch-7.12.0/plugins/ik/config/IKAnalyzer.cfg.xml :<?xml versi原创 2021-04-12 14:54:44 · 1591 阅读 · 0 评论 -
ik_smart ik 分词器扩展字典配置方法
官方文档https://github.com/medcl/elasticsearch-analysis-ik参考链接:https://blog.csdn.net/shihuacai/article/details/8494360/我是用手工安装的插件,然后准备本地配置下扩展字典。步骤如下:3. 在 https://github.com/medcl/elasticsearch-analysis-ik/releases 下载和自己的 es 版本相匹配的 ik 分词器。4. 解压 elasticsea.原创 2021-04-08 17:14:01 · 1373 阅读 · 0 评论 -
elasticsearch lucene 倒排索引
最近在比较深入的了解 elasticsearch 相关的东西,查找了一些资料,现在整理出来,方便自己、大家查阅。最近查阅了不少 es 、lucene 相关的资料,经过整理后会陆续放出来。查找到的是旧版本的 es 的官方文档,新版的好像没有介绍倒排索引,或者介绍了但我没查到。不管新版还是旧版,倒排索引的原理应该是没有变得。原文链接:倒排索引倒排索引es 使用了倒排索引,设计倒排索引的目的就是为了快速的进行全文搜索。倒排索引是一个列表结构,这个列表是由不同的单词组成,这些单词都是在文档中出现过的。对于翻译 2021-04-02 22:32:34 · 194 阅读 · 0 评论 -
elasticsearch es explain 用法,分析得分 score 情况
参考链接:官方文档 。有些情况下用 es 搜索不符合自己的预期,可以用 explain 来分析具体的得分情况。用法:GET online_exercise/_doc/_search{ "explain" : true, "query": { "match_all": {} }}原创 2021-03-22 16:23:59 · 2324 阅读 · 0 评论 -
elasticsearch es 安装
官网安装教程 https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-install.html新买了台电脑,需要重新安装 es ,又重新搜索了官网的文档,在这里记录一下方便大家安装。需要启动多个节点的话,需要指定节点的名称和日志的路径:./elasticsearch -Epath.data=data2 -Epath.logs=log2./elasticsearch -Epath.data=data原创 2021-03-13 21:31:47 · 92 阅读 · 0 评论 -
elasticsearch es sum求和统计用法
参考链接:聚合用法用 extendedstats用 stats用 sum有多种方法都可以实现:用 stats ,其中 “query” 是我自己需要想要查询出的记录,query 部分是我的查询标准,大家在用的时候需要根据业务修改。 my_stats 就是个名字,随便起都行。stats、field 不能修改。大家需要修改的是 height8.height 字段,替换为自己需要的即可。GET xxxx/_doc/_search{ "query" : { "terms": {原创 2021-03-05 10:20:46 · 13778 阅读 · 1 评论 -
es elasticsearch 中的 query string query 用法
参考链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html查询出不含某个字段的记录的两种写法:DSL 语法 :GET myIndex/_doc/_search{ "query": { "bool": { "must_not": { "exists": { "field": "myFieldNa原创 2021-01-27 10:42:24 · 1624 阅读 · 0 评论 -
elastic search es 分组统计 aggs 次数用法
参考链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations.htmles 各个版本的语法可能会不一样,如果大家在用的时候发现语法报错了,请查阅相关版本的语法。刚需要按 ip 地址统计某个接口的访问次数,查了下 es 分组统计次数 aggs 的用法,特此记录一下,方便下次查阅。GET filebeat-7.2.0-2021.01.07/doc/_search?size=0{ "qu原创 2021-01-08 18:39:21 · 9787 阅读 · 0 评论 -
怎样在 elasticsearch es 中为已存在的索引 index 中添加新的字段 field ?
查了几个文档都不对,es 更新太快了,不同的版本对应的方法还不一样。所以需要先查出自己的 es 的版本,然后查询官方文档。可以在 kibana 中查看自己的 es 的版本,具体方法见 怎样在 kibana 中查看 es elasticsearch 的版本 。查到具体的版本号后在官方文档中选中相应的文档。索引相关的 api 文档:https://www.elastic.co/guide/en/elasticsearch/reference/6.3/indices.html点击 Put原创 2020-11-19 18:23:34 · 4982 阅读 · 0 评论 -
怎样在 kibana 中查看 es elasticsearch lucene 的版本
怎样在 kibana 中查看 es elasticsearch lucene 的版本记录一下,方便以后查。GET /查询结果{ "name": "bxes1", "cluster_name": "xxxx", "cluster_uuid": "xxxxx", "version": { "number": "6.3.2", "build_flavor": "原创 2020-11-19 18:00:54 · 11780 阅读 · 1 评论 -
elasticsearch ik_smart 中文分词器,分词英文的时候有个小 bug
昨天在测试 match 查询用法的时候,随便输入了一段twenty British women made history这样一段文本,结果却查不出来记录。明显是有问题的,这段文本是从 es 记录中拷贝的一句,怎么就查不出来了呢?后来看了下分词器用的是 ik_smart ,是不是中文分词器对英文支持的不够好?后来试了下 standard 分词器,是可以查出来的。刚才试了下分词结果,发现了问题所在:GET /_analyze{ "analyzer": "ik_smart", "text":原创 2020-11-06 17:28:02 · 2709 阅读 · 0 评论 -
elasticsearch painless 排序脚本中使用 Map (HashMap)
参考资料https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-casting.htmlhttps://blog.csdn.net/weixin_38809962/article/details/79768002https://blog.csdn.net/hechaojie_com/article/details/88881503有一个业务需求,在给 es 中传入一个 id 集合,然后根据条件去过滤掉一些记录。然后分原创 2020-10-29 14:35:20 · 2106 阅读 · 2 评论 -
elasticsearch es 字段值类型为集合,怎样过滤集合为空或集合不为空的记录?
elasticsearch es 字段值类型为集合,怎样过滤集合为空或集合不为空的记录 exists原创 2020-10-19 11:58:45 · 4230 阅读 · 2 评论 -
spring boot 集成 elastic search
参考文档 spring boot 官方文档elastic search 更新的很快,不管是国内的还是国外的网上的好多教程都是比较老的版本,好多类和方法都被废弃了。找了个 spring boot 官方的教程中途还报错了,后来根据报错信息结合 spring-boot-autoconfigure jar 包里的源码找到了解决办法。源码可以在 github 下载。1. 添加依赖<?xml version="1.0" encoding="UTF-8"?><project xmlns="h原创 2020-07-30 21:34:39 · 299 阅读 · 0 评论 -
elastic search curl 报错'Content-Type header [application/x-www-form-urlencoded] is not supported'
在用 curl post 提交数据的时候报了:{ "error" : "Content-Type header [application/x-www-form-urlencoded] is not supported", "status" : 406}这样一个错。以前没接触过 elastic search 在网上找到类似这样的curl -XPOST http://localhos...原创 2019-11-04 15:13:38 · 6127 阅读 · 2 评论