ElasticSearch
文章平均质量分 50
alwaysonline1204
这个作者很懒,什么都没留下…
展开
-
Elasticsearch: date时间数据格式踩过的坑
elasticsearch date类型数据原创 2022-10-26 16:12:51 · 968 阅读 · 0 评论 -
Elasticsearch中的评分排序--Function score query
elasticsearch中的function score原创 2022-09-02 17:16:51 · 1763 阅读 · 0 评论 -
Elasticsearch: Query string与Simple query string
Elasticsearch Query String原创 2022-08-31 19:21:42 · 1307 阅读 · 0 评论 -
Elasticsearch: Ingest pipelines学习
elasticsearch中的pipelines翻译 2022-08-30 17:42:58 · 647 阅读 · 0 评论 -
elasticsearch: script查询的一些简单用法
script字段值过滤查询indexName索引中,name==‘测试’ && fieldName字段值的长度>2的文档GET /indexName/_search{ "query": { "bool": { "must": [ { "match_phrase": { "name": "测试" } }, { "script":原创 2022-05-23 11:19:54 · 2572 阅读 · 0 评论 -
长时间没有请求es,请求后报错:java.net.SocketTimeoutException: 30,000 milliseconds timeout on connection http-outg
1. jar版本elasticsearch-rest-high-level-client 7.12.12. 问题SpringBoot项目启动后,长时间没有进行接口调用(没有执行es请求),突然进行接口调用时(es请求)报错2022-05-06 13:10:57.342 ERROR 30118 --- [io-10000-exec-9] c.c.e.controller.ImportDataController : 出现未知异常:java.net.SocketTimeoutException:转载 2022-05-06 16:04:53 · 8981 阅读 · 0 评论 -
elasticsearch: 全量更新某个字段
类似sql语法update table set filed1 = 'a' where filed2 = 'b'es全量更新某个字段POST /qs_test/_update_by_query{ "query": { "match_all": {} }, "script": { "source": "ctx._source.cateId = '0002'" }}原创 2021-09-23 11:00:59 · 1898 阅读 · 0 评论 -
elasticsearch: 外部json数据文件使用bulk进行批量数据导入
1. data.json数据文件格式{"create":{"_index":"qs_test"}}{"userId":"1","cateId":"cateId01"}{"create":{"_index":"qs_test"}}{"userId":"2","cateId":"cateId02"}{"create":{"_index":"qs_test"}}{"userId":"3","cateId":"cateId03"}注意:文件最后一行一定要有一行换行。否则会报错2. 批量导入执行原创 2021-09-23 10:51:37 · 362 阅读 · 0 评论 -
ElasticSearch: 文本分析与分词的理解与总结
1. Text Analysis1.1 概述(1)文本分析[Text Analysis]:是将非结构化文本转化为对搜索进行优化的结构化格式的过程;(2)文本分析让es执行全文搜索,搜索返回全部的相关文档,不仅仅是精确匹配文档;(3)通过分词使全文搜索成为可能。将文本分解成更小的块,称作分词,多大数情况下,这些分词是独立的词。1.2 发生两次文本分析(1)建立索引时:当文档被索引时,任何text字段的值都将被分析(2)查询时:当在一个text字段上运行全文搜索(full-text search)原创 2021-07-23 11:25:13 · 828 阅读 · 0 评论 -
ElasticSearch:SpringBoot中连接单机与集群ES的通用连接配置(集群连接时使用ssl认证)
1. 背景在做项目的过程,我们通常在本地开发时,需要连接单机的es进行测试,但是正式上线后,需要连接ES集群,并需要ssl认证,这种情况下,既要满足本地开发的需要,又要满足上线后集群的连接配置,故写下本文,用来记录我比较希望在SpringBoot启动的时候,就建立es连接,故使用了 @PostConstruct 注解,详见下文。2. SpringBoot连接单机或集群ES2.1 首先定义外部文件elasticsearch.properties我将该文件存放在src/main/resources原创 2021-06-08 14:55:09 · 3128 阅读 · 0 评论 -
ElasticSearch: 配置远程词库更新后,如何使历史存储的数据立马生效(即刷新倒排索引列表)
问题背景在我们自定义拓展词库更改后,在原先的索引文档中,由于不是新插入的数据,所以其倒排索引列表还是原先的分词列表数据,导致就算拓展了词库,新增的分词也没有生效。在不重新导入数据的前提下,处理办法如下解决办法通过_update_by_query去更新匹配的文档,如果没有指定查询,那么就会在每个文档上执行更新POST /my-index-000001/_update_by_query?conflicts=proceedconflicts:表示如果更新过程中发生异常冲突时如何处理:(1)abor原创 2021-06-02 16:16:10 · 1040 阅读 · 0 评论 -
ElasticSearch:highlight_query与rescore_query
highlight_query突出显示搜索查询之外的其他查询的匹配项rescore_query重新打分 QueryRescorerBuilder rescorerBuilder = new QueryRescorerBuilder(QueryBuilders.matchPhraseQuery("search", keyword)); rescorerBuilder.setQueryWeight(0.7f); rescorerBuilder.setRescoreQueryWeight(1.2f);原创 2021-06-02 15:54:40 · 1152 阅读 · 0 评论 -
ElasticSearch:copy_to与regexp正则匹配查询
copy_to如果经常需要查询多个字段,可以使用copy_to参数去复制多个字段的值到一个字段中,然后只需要查这个字段即可,可以提高搜索速度并简化搜索语句。注:字段的值将被复制,而不是分词搜索结果显示中,_source字段将不会被修改,不会展示复制的值相同的值可以复制到多个字段中。“copy_to”: [ “field_1”, “field_2” ]不能通过中间字段递归的去复制。比如在field_1上copy_to到field_2,再从field_2上copy_to到field_3,这样是不行原创 2021-06-01 17:49:43 · 559 阅读 · 0 评论 -
ElasticSearch:Collapse折叠搜索结果
Collapse简述使用collapse参数可以基于字段值去折叠搜索结果。 对于某个字段值相同的文档,排序后将保留排在前面的文档,后面的文档将被折叠。注意使用Collapse折叠后,es响应中的hits.total的总响应数不是折叠后的总total,还是折叠前的总total用于折叠的字段,必须是keyword或者numeric如果想获取折叠后的总数,需要使用cardinality进行聚合Java使用Collapse SearchSourceBuilder builder =原创 2021-05-24 17:14:42 · 1871 阅读 · 0 评论 -
docker安装elasticsearch7.10.1总是自动退出问题解决、以及kibana和ik分词器、pinyin分词器的安装
以下为自己遇到该问题后的解决方式,记录一下。首先确认是否是单节点启动。如果是单节点,请按照该命令启动 docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e discovery.type=single-node -d elasticsearch:7.10.1--name 自定义的启动名称-p 端口映射-e-d 后台启动elasticsearch:7.10.1 取容器中的镜像或者镜像id修改jvm空间分配(1)fin原创 2020-12-21 11:19:17 · 2503 阅读 · 1 评论 -
ElasticSearch近实时与refresh
1. 为什么是近实时?在elasticsearch里面,这个轻量级的写入和打开一个cache中的segment的操作叫做refresh,默认情况下,es集群中的每个shard会每隔1秒自动refresh一次,这就是我们为什么说es是近实时的搜索引擎而不是实时的,也就是说给索引插入一条数据后,我们需要等待1秒才能被搜到这条数据,这是es对写入和查询一个平衡的设置方式,这样设置既提升了es的索引写入效率同时也使得es能够近实时检索数据。2. refreshPOST /_refresh //刷新所有的索转载 2021-02-09 10:12:47 · 725 阅读 · 0 评论 -
如何启用ElasticSearch的账号密码安全功能,以及如何配置kibana连接
1. 启用ElasticSearch安全功能在elasticsearch的安装目录下的config/elasticsearch.yml文件中,添加如下配置:xpack.security.enabled: true该值默认为false,推荐显示的去定义该变量。在config/elasticsearch.yml文件中启动单节点发现功能,添加如下配置【如果您有多个节点,则将在集群中的每个节点上启用Elasticsearch安全功能,并为节点间通信配置传输层安全性(TLS)】discovery原创 2020-12-22 14:00:11 · 1560 阅读 · 1 评论 -
ElasticSearch(四):Filter查询、聚合查询
1. 简述Filter查询时不计算相关性的,同时可以进行缓存,因此,Filter查询的速度要快于query查询;2. 数据准备POST /lib9/items/_bulk{"index": {"id": 1}}{"price": 40,"itemID": "ID100123"}{"index": {"_id": 2}}{"price": 50,"itemID": "ID100124"...原创 2020-04-17 17:17:46 · 627 阅读 · 0 评论 -
ElasticSearch(三):query查询操作
1. 基本查询1.1 数据准备# 创建索引,并指定mappingPUT /lib8{ "settings": { "number_of_shards": 3, "number_of_replicas": 0 }, "mappings": { "user": { "properties": { "name": { ...原创 2020-04-14 17:54:35 · 613 阅读 · 0 评论 -
ElasticSearch(二):基本知识、CRUD操作
1. 运行环境jdk1.8、ElasticSearch6.2.4、Kibana6.2.4此处省略环境安装步骤。2. 使用ElasticSearch API 实现CRUD添加索引PUT /lib/{ "settings":{ "index":{ "number_of_shards": 3, "number_of_replicas": 0...原创 2020-04-14 15:09:56 · 273 阅读 · 0 评论 -
ElasticSearch(一):入门篇
1. 概述ElasticSearch是一个基于Lucene的搜索服务器,基于Restful标准的高扩展高可用的实时数据分析的全文搜索工具2. 基本概念索引(index):相当于关系型数据库中的database;类型(type):类似于关系型数据库中的table;文档(document):ES存储的数据是文档型的,一条数据对应一篇文档,即关系型数据库中的一行数据row字段(field)...原创 2020-04-13 10:39:19 · 167 阅读 · 0 评论 -
ElasticSearch基础教程
1. 创建索引要索引一个JSON对象,我们创建一个PUT请求到一个由索引名称,类型名称和ID组成的URL,即:http://localhost:9200/index/type/id,其中index和type是必须的,而id是可选的,如果不指定id,ES会为我们生成一个id,但此时应该使用post请求,而不是put;索引名称是任意的,如果服务器上没有该索引,则将使用默认配置来创建一个索引;我...转载 2019-10-21 15:39:08 · 136 阅读 · 0 评论 -
ElasticSearch入门
原文链接:https://www.cnblogs.com/sunsky303/p/9438737.html1. 简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式的多用户能力的全文搜索引擎,基于RESTful web接口。ES是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。它提供:分布式的实时文件存储...转载 2019-10-14 11:34:52 · 148 阅读 · 0 评论 -
Win10下安装ElasticSearch以及ElasticSearch-head插件
1. 前期环境JDK1.8或更高版本2. Win10下安装ES官方下载地址:https://www.elastic.co/downloads/elasticsearch;(我下载的版本是elasticsearch-7.4.0,目前最新版)下载安装解压后,在bin目录下启动elasticsearch.bat:started说明启动成功;浏览器访问:http://localhost:9...原创 2019-10-12 18:36:42 · 632 阅读 · 1 评论