ES(Elasticsearch)】的更多相关文章

前情提要: web服务往华为云上迁移 ================内网的好环境,相关配置=================== 1.web服务关于ES的集群配置如下: elasticAddress1=192.168.6.16 elasticAddress2=192.168.6.17 elasticPort1=9300 elasticPort2=9301 elasticClusterName=elasticsearch-crm 是在内网两台服务器上启动的ES集群,分别配置的IP和端口如上.ES…
ES ElasticSearch 7.x 下动态扩大索引的shard数量 背景 在老版本的ES(例如2.3版本)中, index的shard数量定好后,就不能再修改,除非重建数据才能实现. 从ES6.1开始,ES 支持可以在线操作扩大shard的数量(注意:操作期间也需要对index锁写) 从ES7.0开始,split时候,不再需要加参数 index.number_of_routing_shards 具体参考官方文档: https://www.elastic.co/guide/en/elasti…
引入依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifact…
基本概念 Elasticsearch是一个实时分布式搜索和分析引擎 支持: 全文搜索 结构化搜索 分析 可以这样进行描述: 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展到上百台服务器,处理PB级结构化或非结构化数据 所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API.各种语言的客户端甚至命令行与之交互.java也有自己的客户端 与ES交互 ES节点 一个Elasticsearch实例是一个节点,一组节点组成了集群.Elasti…
Elasticsearch 中文搜索时遇到几个问题: 当搜索关键词如:“人民币”时,如果分词将“人民币”分成“人”,“民”,“币”三个单字,那么搜索该关键词会匹配到很多包含该单字的无关内容,但是如果将该词分词成一个整词“人民币”,搜索单字如“人”字又不会匹配到包含“人民币”关键词的内容,怎么解决这个问题,既保证覆盖度又保证准确度? 搜索“RMB”时只会匹配到包含“RMB”关键词的内容,实际上,“RMB”和“人民币”是同义词,我们希望用户搜索“RMB”和“人民币”可以相互匹配,ES同义词怎么配置?…
初次接触 Elasticsearch 的同学经常会遇到分词相关的难题,比如如下这些场景: 1.为什么明明有包含搜索关键词的文档,但结果里面就没有相关文档呢? 2.我存进去的文档到底被分成哪些词(term)了? 3.我自定义分词规则,但感觉好麻烦呢,无从下手 1.从一个实例出发,如下创建一个文档: 然后我们做一个查询,我们试图通过搜索 eat 这个关键词来搜索这个文档 ES的返回结果为0.这不太对啊,我们用最基本的字符串查找也应该能匹配到上面新建的文档才对啊! 先来看看什么是分词. 2. 分词 搜…
1.下载(版本为elasticsearch-6.5.4): https://www.elastic.co/downloads/elasticsearch 2.上传至服务/user/local目录 3.解压 tar -zxf elasticsearch-.tar.gz mv elasticsearch- elasticsearch cd elasticsearch 4.创建Elasticsearch用户和所在组 Elasticsearch默认是不允许root用户运行的,不管是Elasticsear…
基本概念 一个分布式多用户能力的全文搜索引擎,基于RESTful web接口. Elasticsearch和MongoDB/Redis/Memcache一样,是非关系型数据库.是一个接近实时的搜索平台,从索引这个文档到这个文档能够被搜索到只有一个轻微的延迟,企业应用定位:采用Restful API标准的可扩展和高可用的实时数据分析的全文搜索工具.底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也采用Elasticsearc…
elasticsearch elasticsearch是lucene作为核心的实时分布式检索,底层使用倒排索引实现. 倒排索引原理 索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址.由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index).倒排索引用存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射 原始数据id 数据值1 你好杯子东西2 中国我爱3 你杯子我​通过分词创建倒排索引你   1[0] 3[0]杯子 1[2]…
es节点的默认的heap内存大小是 1G 大小,在实际生产中,很容易导致内存溢出而导致进程被kill掉.所以我们一般会自己配置自己的,2.x的版本可以通过export ES_HEAP_SIZE=10g或者./bin/elasticsearch -Xmx10g -Xms10g来设置自己的堆内存的大小,但版本在 6.2.x开始,好像就不支持这种设置了,那就自己研究吧! 通过研究启动命令:/usr/share/elasticsearch/bin/elasticsearch ES_JVM_OPTIONS…