1.analysis 和 analyzeranalysis是指把全文本转换成一系列单词(term/token)的过程,也叫分词。analysis是通过分词器analyzer来实现的2.分词String类型的数据在es中有两种类型:keyword:对于存储的数据不会进行分词,需要全文匹配才能,比方数据库存入"我爱中国",那么必须要搜索"我爱中国"才能匹配到该条数据text:会分词,先把对象进行分词处
转载
2023-12-25 06:36:52
17阅读
这里写目录标题一、分词器elasticsearch-analysis-ik1. 分词类型一、分词器的作用1.1 分词器的作用三、创建索引3.1 创建指定分词器的索引 之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了一、分词器elasticsearch-anal
ES的默认中文分词效果太差了,稍微长一点的词句就完全匹配不到,于是选择使用安装IK中文分词器来实现索引的分词。参考:https://www.bbsmax.com/A/6pdDqDaXzw/
一、安装官网教程:https://github.com/medcl/elasticsearch-analysis-ik,注意版本对应的问题
1.下载 从此处下载预构建包:
转载
2023-11-23 15:06:52
140阅读
最近因业务中需要对数据库里面的数据进行多维度检索,完全依赖SQL已经无法满足业务的需求了,显然我们需要搜索技术的支持。这玩意也没啥可技术调研的,基本上就如下几种方案:自己搭建搜索引擎,采用ElasticSearch自己搭建搜索引擎,采用Solr使用云服务,使用阿里云的开放搜索产品或者ES产品业务场景:不需要数据实时同步数据量小、访问频次低,因此单机即可能提供各个字段的多维度模糊查询能简单快速上手,
ElasticSearch入门、ES概念介绍和安装一.ElasticSearch相关概念1.1.ElasticSearch介绍1.1.1.什么是ES ES是一个分布式的全文搜索引擎,为了解决原生Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案,ES的索引库管理支持依然是基于Apache Lucene™的开源搜索引擎。 ES也使用Java开发并使用Lucene
keep_first_letter、keep_separate_first_letter、keep_full_pinyin、keep_joined_full_pinyin、keep_original用法纪实。
拼音分词环境准备找到和ElasticSearch版本相同的ik分词器和拼音分词器ElasticSearch的plugins目录下。ElasticS
一、ES分词介绍我们使用搜索引搜索我们想要查询的内容时,ES数据库会对我们输入的内容进行分词,再按分词的评分进行排序,优先显示评分高的内容。如在某宝搜索双飞燕蓝牙无线鼠标,某宝的搜索引擎就可能会将该内容分为双飞燕,蓝牙,无线,鼠标,并将评分高的结果优先显示。如上图,双飞燕就跟无线蓝牙鼠标分开了,这就是分词因为默认的ES分词器对中文支持不是很好,这里需要使用elasticsearch-analysi
转载
2023-07-25 22:02:19
153阅读
上次写了一篇《Elasticsearch快速入门,掌握这些刚刚好!》,带大家学习了下Elasticsearch的基本用法,这次我们来篇实战教程,以mall项目中的商品搜索为例,把Elasticsearch用起来!中文分词器 由于商品搜索会涉及中文搜索,Elasticsearch需要安装插件才可以支持,我们先来了解下中文分词器,这里使用的是IKAnalyzer。在《Elasticsearch快速入门
目录集成IK分词器扩展词典使用停用词典使用同义词典使用集成IK分词器 概要:IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。新版本的IKAnalyzer3.0发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。3.0特性:1)采
Elasticsearch一. 倒排索引和正排索引正向索引在数据库领域用的比较多,它是将全文进行分词,用户查询的时候就到所有的分词中去匹配,如果有匹配到分词,最终该文档就出现结果集中。倒排索引在搜索引擎领域用的比较多,它也会先进行分词,接着将分词与文档进行映射,分词就构成了一个词典,当用户查询的时候,首先到词典中查找对应的分词,然后将对应的文档获取到。二. ELKElasticsearch是真个e
什么是搜索?根据一个搜索词,检索出所有包含该词的数据 例如:用户在搜索框输入一个词,客户端软件发送一个请求到后台,后台通过sql语句从数据库中找出相关条目(数据库会一条一条的对比),这就是一个最简单搜索原型普通搜索面临的问题1, 当数据量很大时,假如500G, 效率低。从用户角度,从点击搜索按钮到看到搜索结果可能要很长时间,1小时?2小时?用户疯掉 2, 当数据量达到1T,一台电脑已经放不下了,这
文章目录1. 自动补全1.1 拼音分词器1.2.1 自定义分词器1.2.2 小结1.2 自动补全1.3 实现酒店搜索框自动补全1.3.1 修改酒店映射结构1.3.2 修改HotelDoc实体1.3.3 重新导入1.3.4 自动补全查询的 JavaAPI1.3.5 实现搜索框自动补全1.3.5 启动项目进行测试 本节代码和数据库文件链接:https://pan.baidu.com/s/1N_bpj
中文的搜索和英文的搜索最大不同之处在于分词,英文分词可以通过空格,而中文的分词则复杂很多,分词会直接影响用户的搜索使用体验,在一些大公司甚至会使用机器学习的方式进行分词。在这篇文章中笔者主要讲解ES中文分词相关的优化。1. 网络新词网络上经常会出现一些新词,比如“蓝瘦香菇”,蓝瘦香菇默认情况下会被分词,分词结果如下所示 蓝,瘦,香菇 这样的分词会导致搜索出很多不相关的结果,在这种情况下,我们
目录一、ES优化1.限制内存2.文件描述符3.语句优化二、中文分词器 ik0.引出1.插入数据2.查询数据3.配置中文分词器0)注意:1)创建模板方式2)本地配置文件修改方式3)远程扩展字典一、ES优化1.限制内存1.启动内存最大是32G
2.服务器一半的内存全都给ES
3.设置可以先给小一点,慢慢提高
4.内存不足时
1)让开发删除数据
2)加节点
3)提高配置
5.关闭swap空间2.文
ES倒排索引原理先简单了解一下什么是倒排索引,假设我们向某个索引里写入了下面两条document:document某字段内容doc1I really liked my small dogs, and I think my mom also liked them.doc2He never liked any dogs, so I hope that my mom will not expect me
内置分词器、中文分词器这篇博客主要讲:分词器概念、ES内置分词器、ES中文分词器。 一、分词器概念 1、Analysis 和 AnalyzerAnalysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词。Analysis是通过Analyzer来实现的。当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field)。倒排索
安装elasticsearch
1.新建一个用户esuser出于安全考虑,elasticsearch默认不允许以root账号运行。
创建用户:useradd esuser
设置密码:passwd esuser
切换用户:su - esuser
2.上传安装包,并解压我们将安装包上传到:/home/esuser目录
解压缩:tar -zxvf elasticsearch-6.2.4.tar
官网文档1. 自定义分词器当内置分析仪无法满足您的需求时,您可以创建 custom使用以下各项的适当组合的分析器:tokenizer内置或自定义的标记器。(需要)char_filter内置或自定义字符过滤器的可选数组 。filter内置或自定义令牌过滤器的可选数组 。position_increment_gap在为文本值数组建立索引时,Elasticsearch在一个
4.添加IK分词器 4.1 添加原因 一般像solr和es这类搜索引擎自带的分词器对中文的分词效果都是非常差的,我们来看个例子。
首先,我们先使用刚刚安装好的head插件来添加一个名为shop的索引,如图所示
之后我们来看一下默认的分词器是如何来拆分’五常大米’这几个字的,在浏览器中输入
http://你的ip:9200/shop/_analyze
一、概念理解:elasticsearch 是一个搜索引擎,同时也是一个分布式的数据库。因为不仅能提供搜索的功能,还能存储搜索需要的索引库,文档字段等。
一般都简称为 ES 服务。二、原理:1,爬取内容 :获取源数据
2,分词:将数据内容中无意义的词去掉,建立有效的索引
3,建立倒排索引,根据内容反向搜索标题的索引。
大概原理介绍可以参考以下链接https://developer.51cto.com