ES搜索引擎技术

目前的工作中库很多业务普通关系型数据已经不能满足业务需求,因此很多场景需要用到搜索引擎技术,下面介绍一下ElasticSearch。

1、准备工作

下面的安装都是以Windows环境为基础

需下载安装的工具包:需注意这三个版本需保持完全一致,安装部署参考地址:https://juejin.cn/post/7448309749991899177
 elasticSearch:核心,存储数据
         解压缩包后,如果启动发现jdk版本问题启动不了 可以修改elasticsearch-env.bat 中配置使用           es自带jdk
 kibana:可视化工具
          解压缩后修改config中kibana.yml对应上es的地址
 ik:分词工具
          在plugins中新建ik文件夹  将压缩包解压至此文件夹即可
 es:一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能

2、ik分词器

ik分词器作用:
        创建倒排索引时对文档进行分词
        用户搜索时 对输入内容进行分词

ik分词器有几种模式    
        ik_smart:只能切分 粗粒度
        ik_max_word:最细切分 细粒度
        
ik分词器如何扩展词条、如何停用词条
        利用config目录中的IkAnalyzer.cfg.xml文件添加拓展词典与停用词典
        在词典中添加扩展词条与停用词条

3、ES中DSL以及在Java中的使用

DSL库表操作:

mapping常见属性(对应表中的字段)
        type:数据类型(需注意字符串有text与keyword两种类型,前者可以分词 后者不可以分词)
        index:是否索引(默认为true)
        analyzer:分词器(配合数据类型为text使用)
        properties:子字段
        如下所示:
        {
          "mappings": {
            "properties": {
              "user_id":{
                "type": "text",
                "index":false,
                "analyzer": "ik_smart",
                "properties":{
                  "name":{
                    "type": "keyword"
                  }
                }
              }
            }
        }

type常见的有哪些
        字符串:text、keyword
        数字:long、integer、short、byte、double、float
        布尔:booler
        日期:date
        对象:object

索引库的操作有哪些
        创建索引库:PUT /索引库名
        查询索引库:GET /索引库名
        删除索引库:DELETE /索引库名
        修改索引库: PUT /索引库名/_mapping (只支持增加索引库字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值