
elasticsearch
文章平均质量分 94
要有价值
这个作者很懒,什么都没留下…
展开
-
倒排索引
倒排索引 见其名知其意,有倒排索引,对应肯定,有正向索引。正向索引(forward index),反向索引(inverted index)更熟悉的名字是倒排索引。搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置。得到正向索引的结构如下: “文档1”的ID > 单词1:出现次数,出现位置列表;单词2:出现次数,原创 2021-01-12 14:17:39 · 146 阅读 · 0 评论 -
Elasticsearch Java High-Level REST Client 入门教程
Elasticsearch Java High-Level REST Client 入门教程Elasticsearch是开源可扩展的全文检索和分析引擎,用于实时存储、搜索、分析海量信息。Java REST client是其官方提供的客户端,提供特定方法API并对请求和响应封装。本文聚焦如何使用High-Level REST Client。1 环境准备1.1 依赖springboot 默认依赖的版本为6.8,这里在gradle.properties中指定版本7.3.0 。elasticsearch.原创 2020-12-24 17:37:08 · 863 阅读 · 2 评论 -
Elasticsearch入门教程:聚合查询
Elastic入门教程:聚合查询聚合前提:聚合是对query查询出来的数据进行聚合(一)先举出几个需求例子:1、基于studymodel字段分组,即数据中的group by studymodel 加上"size":0后,可以去掉搜索结果中的hit命中数据。GET localhost:9200/book/_search{ "size":0, "query":{ "match_all":{} }, "aggs":{ "group_by_model":{ "terms":{原创 2020-12-11 18:40:57 · 547 阅读 · 0 评论 -
Elasticsearch入门教程:布尔查询
Elastic入门教程(三)布尔查询Bool QueryBool查询现在包括四种子句:must, filter, should, must_not为什么filter会快看上面的流程图就明显的能看到,filter和query还是有很大的区别的。比如,query的时候,会先比较查询条件,然后计算分值,最后返回文档结果;而filter则是先判断是否满足查询条件,如果不满足,会缓存查询过程(记录文档不满足结果);满足的话,就直接缓存结果。综上所诉,filter快在两个方面: 对结果进行缓存原创 2020-12-11 17:03:13 · 1041 阅读 · 0 评论 -
Elasticsearch分词器
Elastic入门教程(三)ES内置的6种分词器standard analyzer标准分词器,未设置分词器时默认使用此分词器。在空格、符号处切,中文部分切割为一个一个的汉字。切的意思是不要了。多个连续的空格算一个空格,符号指的是!、?、@、。等“h!ello wo2rld a b我是a中国人d” => h ello wo2rld a b 我 是 a 中 国 人simple analyzer简单分词器。在空格、符号、数字处切,中文部分不会切割为一个一个的原创 2020-12-11 15:36:13 · 2339 阅读 · 0 评论 -
Elasticsearch入门教程:基础查询
Elastic入门教程(二)ElasticSearch查询 term系列:精确搜索 match系列:精确搜索、模糊搜索 exists:指定字段存在(有值) prefix:前缀匹配,只能是keyword类型的字段 wildcard:通配符 regexp:正则表达式匹配 ids:根据id进行查询term系列:(1)termpost localhost:9200/mall/_search{ "query":{ "term":{ "goods_name":"苹果"原创 2020-12-11 14:38:55 · 232 阅读 · 0 评论 -
Elasticsearch入门教程:基础入门
Elastic入门教程(一)全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。本文从零开始,讲解如何使用 Elastic 搭建自己的全文原创 2020-12-09 18:54:02 · 198 阅读 · 0 评论