当前位置: 首页 > news >正文

凤城网站建设网页版1688

凤城网站建设,网页版1688,建设网站的意义 作用是什么意思,上海网站设计方案Elasticsearch 认识Elasticsearch安装Elasticsearch安装Kibana安装IK分词器分词器的作用是什么?IK分词器有几种模式?IK分词器如何拓展词条?如何停用词条? 认识Elasticsearch Elasticsearch的官方网站如下 Elasticsearch官网 Ela…

Elasticsearch

  • 认识Elasticsearch
  • 安装Elasticsearch
  • 安装Kibana
  • 安装IK分词器
    • 分词器的作用是什么?
    • IK分词器有几种模式?
    • IK分词器如何拓展词条?如何停用词条?

认识Elasticsearch

Elasticsearch的官方网站如下
Elasticsearch官网

Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。完整的技术栈包括:

  • Elasticsearch:用于数据存储、计算和搜索
  • Logstash/Beats:用于数据收集
  • Kibana:用于数据可视化
    整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析等等:
    在这里插入图片描述

整套技术栈的核心就是用来存储、搜索、计算的Elasticsearch,接下来安装的核心也是Elasticsearch
要安装的内容包含2部分:

  • elasticsearch:存储、搜索和运算
  • kibana:图形化展示

首先Elasticsearch不用多说,是提供核心的数据存储、搜索、分析功能的。
然后是Kibana,Elasticsearch对外提供的是Restful风格的API,任何操作都可以通过发送http请求来完成。不过http请求的方式、路径、还有请求参数的格式都有严格的规范。这些规范我们肯定记不住,因此我们要借助于Kibana这个服务。
Kibana是elastic公司提供的用于操作Elasticsearch的可视化控制台。它的功能非常强大,包括:

  • 对Elasticsearch数据的搜索、展示
  • 对Elasticsearch数据的统计、聚合,并形成图形化报表、图形
  • 对Elasticsearch的集群状态监控
  • 它还提供了一个开发控制台(DevTools),在其中对Elasticsearch的Restful的API接口提供了语法提示

安装Elasticsearch

采用的是elasticsearch的7.12.1版本,由于8以上版本的JavaAPI变化很大,在企业中应用并不广泛,企业中应用较多的还是8以下的版本。
创建网络:因为需要部署kibana容器,因此需要让es和kibana容器互联。

docker network create es-net

拉取镜像:

docker pull elasticsearch:7.12.1

在这里插入图片描述
创建挂在节点

mkdir -p /usr/share/elasticsearch/data     /usr/share/elasticsearch/plugins

在这里插入图片描述

启动命令

docker run -d \--name es \--restart=always \-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \-e "discovery.type=single-node" \-v es-data:/usr/share/elasticsearch/data \-v es-plugins:/usr/share/elasticsearch/plugins \--privileged \--network es-net \-p 9200:9200 \-p 9300:9300 \elasticsearch:7.12.1

在这里插入图片描述
访问9200验证
ip:9200
在这里插入图片描述

安装Kibana

拉取镜像:

docker pull kibana:7.12.1

在这里插入图片描述
创建挂在节点

mkdir -p  /usr/share/kibana/config /usr/share/kibana/data

在这里插入图片描述

启动命令

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601  \
kibana:7.12.1

在这里插入图片描述

测试Kibana是否安装成功
http://IP:5601

安装IK分词器

中文分词往往需要根据语义分析,比较复杂,这就需要用到中文分词器,例如IK分词器。IK分词器是林良益在2006年开源发布的,其采用的正向迭代最细粒度切分算法一直沿用至今。

执行语句

docker exec -it es ./bin/elasticsearch-plugin  install https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.12.1.zip

注:执行时注意版本号,版本应与安装的Elasticsearch版本相同

如果网速较差,也可以选择离线安装。

 https://release.infinilabs.com/analysis-ik/stable/elasticsearch-analysis-ik-7.12.1.zip

下载文件 上传到 挂载卷下 ik 文件夹下
查看挂载卷

docker volume inspect es-plugins

在这里插入图片描述

docker restart es

IK分词器包含两种模式:

  • ik_smart:智能语义切分
  • ik_max_word:最细粒度切分

我们在Kibana的DevTools上来测试分词器,首先测试Elasticsearch官方提供的标准分词器:

POST /_analyze
{"analyzer": "standard","text": "程序员学习java太棒了"
}
{"tokens" : [{"token" : "程","start_offset" : 0,"end_offset" : 1,"type" : "<IDEOGRAPHIC>","position" : 0},{"token" : "序","start_offset" : 1,"end_offset" : 2,"type" : "<IDEOGRAPHIC>","position" : 1},{"token" : "员","start_offset" : 2,"end_offset" : 3,"type" : "<IDEOGRAPHIC>","position" : 2},{"token" : "学","start_offset" : 3,"end_offset" : 4,"type" : "<IDEOGRAPHIC>","position" : 3},{"token" : "习","start_offset" : 4,"end_offset" : 5,"type" : "<IDEOGRAPHIC>","position" : 4},{"token" : "java","start_offset" : 5,"end_offset" : 9,"type" : "<ALPHANUM>","position" : 5},{"token" : "太","start_offset" : 9,"end_offset" : 10,"type" : "<IDEOGRAPHIC>","position" : 6},{"token" : "棒","start_offset" : 10,"end_offset" : 11,"type" : "<IDEOGRAPHIC>","position" : 7},{"token" : "了","start_offset" : 11,"end_offset" : 12,"type" : "<IDEOGRAPHIC>","position" : 8}]
}

可以看到,标准分词器智能1字1词条,无法正确对中文做分词。
我们再测试IK分词器:

POST /_analyze
{"analyzer": "ik_smart","text": "程序员学习java太棒了"
}
{"tokens" : [{"token" : "程序员","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 0},{"token" : "学习","start_offset" : 3,"end_offset" : 5,"type" : "CN_WORD","position" : 1},{"token" : "java","start_offset" : 5,"end_offset" : 9,"type" : "ENGLISH","position" : 2},{"token" : "太棒了","start_offset" : 9,"end_offset" : 12,"type" : "CN_WORD","position" : 3}]
}

IK分词器无法对一些新的词汇分词,如“泰裤辣”等,测试一下:

POST /_analyze
{"analyzer": "ik_smart","text": "程序员泰裤辣"
}
{"tokens" : [{"token" : "程序员","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 0},{"token" : "泰","start_offset" : 3,"end_offset" : 4,"type" : "CN_CHAR","position" : 1},{"token" : "裤","start_offset" : 4,"end_offset" : 5,"type" : "CN_CHAR","position" : 2},{"token" : "辣","start_offset" : 5,"end_offset" : 6,"type" : "CN_CHAR","position" : 3}]
}

所以要想正确分词,IK分词器的词库也需要不断的更新,IK分词器提供了扩展词汇的功能
增加词典 进入 挂在卷下 ik/config
也可以 直接在本地修改好后直接上传到 服务器 (推荐)
修改文件 IKAnalyzer.cfg.xml
在这里插入图片描述
然后修改 vim ext.dic
在这里插入图片描述
然后重启 es
再次请求es得

{"tokens" : [{"token" : "程序员","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 0},{"token" : "泰裤辣","start_offset" : 3,"end_offset" : 6,"type" : "CN_WORD","position" : 1}]
}

分词器的作用是什么?

  • 创建倒排索引时,对文档分词
  • 用户搜索时,对输入的内容分词

IK分词器有几种模式?

  • ik_smart:智能切分,粗粒度
  • ik_max_word:最细切分,细粒度

IK分词器如何拓展词条?如何停用词条?

  • 利用config目录的IkAnalyzer.cfg.xml文件添加拓展词典和停用词典
  • 在词典中添加拓展词条或者停用词条
http://www.yayakq.cn/news/51361/

相关文章:

  • 人力资源网站建设昆明百度搜索排名优化
  • 怎么做贝店式的网站陕西江川建设有限公司公司网站
  • 如何用手机创建网站打折网站模板
  • 南京建设局网站首页公司注销后网站备案吗
  • 一个域名访问不同的网站校际凡科平台怎么登录
  • 网站内容策划方案十大跨境电商公司排名
  • 流量网站嵌入式硬件开发
  • 德阳市建设局官方网站学校 网站建设 招标
  • 网站开发需要掌握的哪些开发软件内网网站建设所需硬件设备
  • 临清网站推广wordpress两个域名访问
  • 手机网站 代码网页设计与网站建设在线考试1
  • 大丰专业做网站制作网页时用的最多的图像格式
  • aspcms分类信息网站四川建设部官方网站
  • 网站建设 软文发布三农网络公司排名
  • 做网站后台需要什么知识学编程的培训机构
  • 海南第六建设工程有限公司网站召唤神龙网页小游戏在线玩
  • 连云港网站建设开发vs2015 手机网站开发
  • 旅游网站开发价格怎么在手机上做网站
  • 沈阳制作网站建站天元建设集团有限公司财报
  • 做视频点播网站需要服务器存储吗校园网站建设网
  • 荣耀官方网站python基础教程电子书百度网盘
  • 做网站公司需要什么条件微信小程序制作软件免费
  • 商城建站系统wordpress 页面设置不了标签
  • 河南卓越建设工程有限公司网站南京网站建设推南京网站建设设计
  • 酒店微信网站建设企业网站建设解决方案
  • seo专业为网站建设免费制作企业宣传册制作工具
  • 上海网页制作与网站设小区媒体网站建设
  • 做钓鱼网站判刑七牛 wordpress插件
  • 山东省建设建设监理协会网站wordpress如何添加模板
  • 江苏建设人才考试网是啥网站东莞通