安裝elasticsearch、kibana:
#docker pull elasticsearch:7.7.0 docker run --detach \ --name elasticsearch \ --publish 19200:9200 --publish 19300:9300 \ --restart always \ --env "node.name=elasticsearch" \ --env "cluster.name=test-elasticsearch" \ --env "bootstrap.memory_lock=true" \ --env "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ --env "discovery.type=single-node" \ --env "script.painless.regex.enabled=true" \ --volume /data/elasticsearch/elasticsearchdata:/usr/share/elasticsearch/data \ --volume /data/elasticsearch/elasticsearchplugins:/usr/share/elasticsearch/plugins \ --volume /data/elasticsearch/elasticsearchconfig/stopwords.txt:/usr/share/elasticsearch/config/stopwords.txt \ --volume /data/elasticsearch/elasticsearchconfig/synonyms.txt:/usr/share/elasticsearch/config/synonyms.txt \ --volume /etc/localtime:/etc/localtime \ elasticsearch:7.7.0 #chmod -R 777 /data/elasticsearch 安裝Elasticsearch時提示權限不夠,更改權限即可(chmod -R 777 els) # --env cluster.initial_master_nodes=elasticsearch \ #7.7.0 不需要加 --env "discovery.type=single-node" \ #7.7.0 需要加上 #docker pull kibana:7.7.0 #連接當前機器的docker里面的es #docker run --detach \ --name kibana \ --publish 15601:5601 \ --link elasticsearch:es \ #--link --env "ELASTICSEARCH_HOSTS=http://es:19200" \ --env "LS_JAVA_OPTS=-Xmx256m -Xms256m" \ --volume /etc/localtime:/etc/localtime \ kibana:7.7.0 #連接另外一台機器的docker里面的es,端口也換了 #docker run --detach ` --name kibana-dev ` --publish 15601:5601 ` --add-host=elasticsearch:192.168.0.119 ` #--add-host --env "ELASTICSEARCH_HOSTS=http://elasticsearch:32607" ` --env "LS_JAVA_OPTS=-Xmx256m -Xms256m" ` kibana:7.7.0


ElasticSearch(四)查詢、分詞器和安裝IK插件
安裝之后,注意需要重啟ES服務期。
curl -XPOST http://localhost:9200/index/_mapping -H 'Content-Type:application/json' -d' { "properties": { "content": { "type": "text", "analyzer": "ik_max_word", "search_analyzer": "ik_smart" } } }'
進入容器里,顯示所有插件的名稱
./bin/elasticsearch-plugin install -h

進入容器,在容器里安裝日語插件:安裝成功之后不需要重啟ES服務器
#./bin/elasticsearch-plugin install analysis-kuromoji

安裝成功之后的目錄結構和IK的相似


# 使用標准分詞器 statndard GET _analyze { "analyzer": "standard", "text": "奧迪a4l" } # 使用IK分詞器 ik_smart GET _analyze { "analyzer": "ik_smart", "text": "奧迪" } # 使用日語分詞器 kuromoji GET _analyze { "analyzer": "kuromoji", "text": "東京都は22日、緩和の行程を3段階で示す「ロードマップ」の詳細を発表した。最初の「ステップ1」で、飲食店の営業時間。" }
1、創建名為 tlz_es 的索引庫:
PUT tlz_es

2、往索引庫添加文檔,created:true表示添加文檔成功:
POST tlz_es/article { "title":"Java是世界上最好的語言", "content":"Java是世界上最好的語言,不接受反駁" }

3、查詢所有文章
GET tlz_es/article/_search

4、修改某一篇文章,復制好_id。此時created:false.如果后面跟一個不存在的id,則為創建操作。

5、條件查詢,*表示模糊查詢
GET tlz_es/article/_search?q=title:*C*

kibana使用:
GET _search
{
"query": {
"match_all": {}
}
}
# 創建索引庫
PUT tlz_es
# 往索引庫添加文檔,created:true表示添加文檔成功
POST tlz_es/article
{
"title":"Java是世界上最好的語言",
"content":"Java是世界上最好的語言,不接受反駁"
}
# 查詢所有文章
GET tlz_es/article/_search
# 修改某一篇文章
PUT tlz_es/article/AXIRlNX9I0pEtAhy7gZr
{
"title":"C#是世界上最好的語言",
"content":"C#是世界上最好的語言,不接受反駁"
}
#條件查詢,*表示模糊查詢
GET tlz_es/article/_search?q=title:*C*
# 查看所有索引
GET _cat/indices
# 查看所有字段映射
GET lucenespumodel/_mapping/
# 查詢全部
GET lucenespumodel/_search
# 查詢全部,只返回五條記錄
GET lucenespumodel/_search
{
"query": {
"match_all": {}
},
"size":5
}
# 聚合字段
GET lucenespumodel/_search
{
"query": {
"match_all": {}
},
"size":5,
"aggs" : {
"PropertyTextFacet" : {
"terms" : { "field" : "PropertyTextFacet" }
}
}
}
# 動態列
GET lucenespumodel/_search
{
"query": {
"query_string": {
"default_field": "SPUID",
"query": "578123"
}
},
"size":5,
"_source": {
"includes": ["SPUID","TopicLeiMuMaxSort","TopicLeiMuMaxSort_1223"]
}
}
GET lucenespumodel/_mapping/
