安装配置elasticsearch—kibana使用—中文分词

目录

1 es相关介绍

2 安装和启动

3 es的基本概念

4 es简单办的增删改查

5 对于中文的分词


1 es相关介绍

1 搜索引擎

elasticSearch6(和elasticSearch5的区别在于,root用户权限、一个库能否建立多个表)

 

2 搜索引擎

 

文本搜索(以空间换时间算法)

于同类产品相比(solr、hermes),和solr一样都是基于lucene(apache),默认以集群方式工作

 

搜索引擎(以百度和goole为例)的工作原理是什么?

a 爬虫

b 分析

c 查询

 

3 elasticSearch(搜索引擎)的算法

倒排索引(在内容上建立索引,用内容去匹配索引)

Btree(balance tree b-tree)

B+tree

 

2 安装和启动

1 安装环境

Centos7 + jdk8

2 配置文件

elasticSearch.yml(集群配置文件)、jvm.Opitons(jvm配置文件)

3 创建目录、上传,解压

Mkdir -p /opt/es

上传

Tar – zxvf elasticsearch-6.3.1.tar.gz

 

4 配置

Es使用最大线程数、最大内存数、访问的最大文件数

启动脚本

 

需要改成其他非root用户才能启动

 

Adduser es

 

Su es

Es使用的jvm的内存大小

访问权限:es无法访问data目录(data是es的软件和日志数据目录)

 

5 启动

Es的权限问题:

首先用root用户解压

Tar – zxvf elasticsearch-6.3.1.tar.gz

然后用root用户授权

Chmod 777 -R elasticsearch-6.3.1

 

启动后配置

elasticSearch.yml、jvm.Opitons

 

jvm.Opitons中配置es能够使用jvm内存大小

elasticSearch.yml中配置es的host地址(配成本机地址,允许访问)

配置完毕启动es(必须切换到非root用户下)

启动后会报错(linux的默认线程数、最大文件数、最大内存数都不够)

 

6 修改linux的配置(配合es的启动需求)

两处修改

A修改linux的limits配置文件,设置内存线程和文件

B修改linux的sysctl配置文件,配置系统使用内存

 

整个es的配置有四处文件需要修改

elasticSearch.yml es的启动host地址

jvm.options配置es的虚拟机内存

limits.conf配置linux的线程内存和文件

sysctl.conf配置系统允许的软件运行内存

 

7 启动安装

 

3 es的基本概念

1 通过(9200端口)http协议进行交互

http://192.168.222.20:9200/_cat/indices?v

 

2 基本概念

Index 库

Type 表

Document 行(一条数据)

Field 字段

 

3 开发工具(kibana)

配置

启动kibana

查看kibana

Kill -9 3486

端口号5601

‘’访问:http://10.14.237.221:5601

报错: No shard available for [get [.kibana][doc][config:6.3.1]: routing [null]] :: {"path":"/.kib ana/doc/config%3A6.3.1","query":{},"statusCode":503,"response":"{\"error\":{\"root_cause\":[{\"typ e\":\"no_shard_available_action_exception\",\"reason\":\"No sha

解决(参考):https://my.oschina.net/u/3314358/blog/2221363

1)删除索引

[root@server ~]# curl -XDELETE http://localhost:9200/.kibana
{"acknowledged":true}

2)在 kibana 界面开启或关闭

3)排查后的状态

[root@server ~]# curl '192.168.100.15:9200/_cat/indices?v'        
health status index                 uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   system-syslog-2018.09 TR_gdOb8RDSRtHj_g4a4_g   5   1         20            0    240.6kb        120.3kb
green  open   .kibana               GGWwf7gdTwCKMn3BqRaGcQ   1   1          2            0       22kb           11kb

4 es简单办的增删改查

PUT

DELETE

POST

GET

 

查询带“红”的所有内容

GET movie_index/movie/_search

{

  "query": {

    "match": {

      "name": "red"

    }

  }

}

 

5 对于中文的分词

插入数据

PUT /movie_chn/movie/1

{ "id":1,

  "name":"红海行动",

  "doubanScore":8.5,

  "actorList":[ 

  {"id":1,"name":"张译"},

  {"id":2,"name":"海清"},

  {"id":3,"name":"张涵予"}

 ]

}

PUT /movie_chn/movie/2

{

  "id":2,

  "name":"湄公河行动",

  "doubanScore":8.0,

  "actorList":[ 

{"id":3,"name":"张涵予"}

]

}

 

PUT /movie_chn/movie/3

{

  "id":3,

  "name":"红海事件",

  "doubanScore":5.0,

  "actorList":[ 

{"id":4,"name":"张晨"}

]

}

查询测试

GET /movie_chn/movie/_search

{

  "query": {

    "match": {

      "name": "红海战役"

    }

  }

}

 

GET /movie_chn/movie/_search

{

  "query": {

    "term": {

      "actorList.name": "张译"

    }

  }

}

 

GET _analyze

{

  "text": "红海行动"

}

加入中文分词器

进入插件目录

在plugins目录下解压一层目录就可以

Ik(中英文分词器)有两个:

1 ik_smart(简易分词)

2 ik_max_word(尽最大可能分词)

GET _analyze

{

  "analyzer": "ik_smart",

  "text": "我是中国人"

}

 

相关性算分数:

查询的关键字在进行分词处理后,与es的文档(分词处理并建立了索引)之间的相关度的高低

发布了96 篇原创文章 · 获赞 16 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_38151401/article/details/103923082
今日推荐