
elastisearch
爱学习的老王
这个作者很懒,什么都没留下…
展开
-
Elasticsearch(十)——springboot使用ElasticsearchTemplate实现高亮查询等一系列操作
@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class)public class ESTest { @Autowired private ElasticsearchTemplate esTemplate; /** * 不建议使用 ElasticsearchTemplate 对索引进行管理(创建索引,更新映射,删除索引) * 索引就像是数据库或者数据库中的表,我们平时是.原创 2020-09-11 11:12:56 · 821 阅读 · 0 评论 -
Elasticsearch(九)——搭建Elasticsearch集群
环境系统均为centos 7节点名称IP地址es-node1192.168.5.207es-node2192.168.5.208es-node3192.168.5.2091、Elasticsearch集群搭建1.安装JDKElasticsearch是基于Java开发是一个Java程序,运行在Jvm中,所以第一步要安装JDKyum install -y java-1.8.0-openjdk-devel # 安装1.8或1.8以上版本2.下载elast原创 2020-09-11 10:34:07 · 314 阅读 · 0 评论 -
Elasticsearch(八)——深度分页问题解决方案
问题在分页处理时,我们要确定两个参数,start & size,如果一个分页查询start值很大,那么这就是一个深度分页查询。深度分页是很有问题的,用sql举例:select * from user order by id limit 10000,10 ,表面上看起来只取10条数据,而实际上它是个大查询,因为查询过程中,数据库要确定前10010条数据,然后才能拿出最后10条。显而易见,一方面人为深度分页是个伪需求,没有谁会一直狂翻,或者直接跳第100页看数据。另一方面,深度分页对系统的稳定性有原创 2020-09-11 10:03:26 · 1093 阅读 · 1 评论 -
Elasticsearch(七)——DSL语法
DSL特点Domain Specific Language特定领域语言基于JSON格式的数据查询查询更灵活,有利于复杂查询# 查询POST /索引/_doc/_search{ "query": { "match": { "desc": "Elasticsearch"//查询条件 Desc字段中带有Elasticsearch的会查询出来 } }}# 判断某个字段是否存在{ "query": {原创 2020-09-09 10:34:47 · 1266 阅读 · 0 评论 -
Elasticsearch(六)——内置分词器
es内置分词器1.standard:默认分词,单词会被拆分,大小会转换为小写。2.simple:按照非字母分词。大写转为小写。3.whitespace:按照空格分词。忽略大小写。4.stop:去除无意义单词,比如the / a / an / is …5.keyword:不做分词。把整个文本作为一个单独的关键词。iK中文分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik注意 IK分词器的版本要你安装ES的版本一致,我这边是7.1原创 2020-09-08 21:01:45 · 706 阅读 · 0 评论 -
Elasticsearch(五)——乐观锁并发控制 if_seq_no 和 if_primary_term 详解
if_seq_no 和 if_primary_term 详解1 创建一简单文档2. 修改文档,_seq_no会+13. 修改文档,带上if_seq_no和if_primary_term4. 修改文档,模拟并发5. 删除文档,_seq_no还是会+16. seq_no递增属于整个index,而不是单个文档if_seq_no 和 if_primary_term 是用来并发控制,他们和version不同,version属于当个文档,而seq_no属于整个index。1 创建一简单文档PUT /p原创 2020-09-08 20:53:37 · 2738 阅读 · 3 评论 -
Elasticsearch(四)——文档的基本操作(删除,修改,查看)
1.删除文档DELETE /my_doc/_doc/1 /索引/_doc/文档id注∶文档删除不是立即删除,文档还是保存在磁盘上,索引增长越来越多,才会把那些曾经标识过删除的,进行清理,从磁盘上移出去。2.修改文档单个属性修改POST /my_doc/_doc/1/_update{ "doc": { "name": "jack" }}全量修改PUT /my_doc/_doc/1{ "id": 1001, "name": "test-原创 2020-09-08 20:39:20 · 630 阅读 · 0 评论 -
Elasticsearch(三)——文档的基本操作(添加)
1.添加文本数据POST /my_doc/_doc/1 -> {索引名}/_doc/{索引ID}(是指索引在es中的id,而不是这条记录的id,比如记录的id从数据库来是1001,并不是这个。如果不写,则自动生成一个字符串。建议和数据id保持一致> ){ "id": 1001, "name": "test-1", "desc": "test is very good, Elasticsearch 非常牛!", "create_date": "2019-12原创 2020-09-07 22:34:28 · 589 阅读 · 0 评论 -
ElasticSearch(二)——创建mapping映射
1.创建索引的同时创建mappingsPUT /index_test{ "mappings": { "properties": { "realname": { "type": "text", "index": true }, "username": { "type": "keyword", "ind原创 2020-09-07 22:22:24 · 1115 阅读 · 0 评论 -
Elasticsearch(一)———基本索引操作
集群健康GET /_cluster/health创建索引PUT /index_test{ "settings": { "index": { "number_of_shards": "2", "number_of_replicas": "0" } }}查看索引GET _cat/indices删除索引DELETE /index_test...原创 2020-09-07 21:41:24 · 330 阅读 · 0 评论