ElasticSearch的基本安装

时间:2022-09-12 22:35:53

一、ElasticSearch的基本安装

1)下载es软件: https://www.elastic.co/downloads/elasticsearch 。 
2)解压并运行(bin/elasticsearch.bat),并在浏览器访问:http://127.0.0.1:9200 。

二、Kibana的基本安装

1)下载适合es的kibana软件:https://www.elastic.co/downloads/kibana

2)解压并运行(bin/kibana.bat),并在浏览器访问:http://127.0.0.1:5601。

3)可以通过http://127.0.0.1:5601/status 查看kibana的状态。

三、ik分词器安装

1)下载ik分词器源码:https://github.com/medcl/elasticsearch-analysis-ik/ 。注意下载的时候,需要根据使用elasticsearch的版本,下载适合的tags版本。

2) 解压源码,进入pom.xml所在文件,使用mvn命令进行打包。

mvn clean package -P relase

打包成功之后将会在target\releases目录,多出一个elasticsearch-analysis-ik-*.zip 的包。

3) 复制elasticsearch-analysis-ik-*.zip包到elasticsearch的安装目录plugins中,解压并对文件夹重名为ik。

4) 复制解压后项目的config文件到elasticsearch的安装目录config中,并将文件夹重名为ik。

5) 重启es。

四、pinyin分词器安装

1)下载pinyin分词器源码:https://github.com/medcl/elasticsearch-analysis-pinyin 。注意下载的时候,需要根据使用elasticsearch的版本,下载适合的tags版本。

2) 解压源码,进入pom.xml所在文件,使用mvn命令进行打包。

mvn clean package -P relase

打包成功之后将会在target\releases目录,多出一个elasticsearch-analysis-pinyin-*.zip 的包。

3) 复制elasticsearch-analysis-pinyin-*.zip包到elasticsearch的安装目录plugins中,解压并对文件件重名为pinyin。

4) 重启es。

五、在kibana客户端实验ik+pinyin分词

1)创建索引 
PUT /index
2)查看分词
--中文详细分词
POST /index/_analyze
{
  "analyzer":"ik_max_word",
  "text":"*国歌"
}
--中文简单分词
POST /index/_analyze
{
  "analyzer": "ik_smart",
  "text": "*国歌"
}
--中文拼音分词词
POST /index/_analyze
{
  "analyzer": "pinyin",
  "text": "张学友"
}
3.创建索引
PUT /medcl/
{
    "index": {
        "analysis": {
            "analyzer": {
                "ik_pinyin_analyzer": {
                    "type": "custom",
                    "tokenizer": "ik_smart",
                    "filter": [
                        "my_pinyin",
                        "word_delimiter"
                    ]
                }
            },
            "filter": {
                "my_pinyin": {
                    "type": "pinyin",
                    "first_letter": "prefix",
                    "padding_char": " "
                }
            }
        }
    }
}
4.索引type
POST /medcl/folks/_mapping
{
    "folks": {
        "properties": {
            "name": {
                "type": "keyword",
                "fields": {
                    "pinyin": {
                        "type": "text",
                        "store": "no",
                        "term_vector": "with_positions_offsets",
                        "analyzer": "ik_pinyin_analyzer",
                        "boost": 10
                    }
                }
            }
        }
    }
}
5.添加数据
POST /medcl/folks/1
{
  "name":"刘德华"
}
POST /medcl/folks/2
{
  "name":"刘2德华"
}
POST /medcl/folks/3
{
  "name":"刘德3华"
}
POST /medcl/folks/4
{
  "name":"爱德华"
}
POST /medcl/folks/5
{
  "name":"*国歌"
}

6.数据查询
GET /medcl/folks/_search
{
}
GET /medcl/folks/_search
{
    "query": {
        "match": {
            "name.pinyin": "  dehua "
        }
    },
    "highlight": {
        "fields": {
            "name.pinyin": {}
        }
    }
}