elasticSearch 相关说明 ~ langhai
2023-01-20 22:58:08
elasticSearch 相关说明
浪海值:1754度
文章标签:博客系统
文章摘要:elasticSearch的DSL以及相关说明 。
使用新的显示器:新的显示器 如果遇到图片单击即可放大/缩小。
文章标签:博客系统
文章摘要:elasticSearch的DSL以及相关说明 。
使用新的显示器:新的显示器 如果遇到图片单击即可放大/缩小。
elasticSearch 相关说明
作用:elasticSearch的作用就是用来检索文章的。
docker run -d \
--name es \
-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
以上是docker启动es容器的命令,512M是对内存大小的配置,建议最小配置为512M,否则有可能功能不能正常使用,后面是对数据卷的加载,第一个是加载数据目录,第二个是加载插件目录。--network 是加入同一个网络。如果要部署kibana(可视化工具)的话,需要在同一个网络。
docker network create es-net
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
以上是kibana的docker容器启动命令,配置一下es的连接地址即可。为了达到更好的分词效果es需要安装ik分词器 github 官方地址 ,以及拼音分词器 github 官方地址 。安装完这两个插件,需要重启es和kibana的服务。
application.yml配置文件es相关配置:
第一步需要在test包里面执行这个创建索引库的方法cc.langhai.es.ESTest#createHotelIndex。
第二步需要在test包里面执行初始化数据,也就是将现在mysql里面的文章全部添加到es搜索引擎当中,cc.langhai.es.ESTest#testBulkRequest。
一些es的代码相关操作在这个包里面cc.langhai.mq.service.ESService。
以下是相关的DSL语句。
# 浪海博客系统数据索引库
PUT /langhaiblogs
{
"settings": {
"analysis": {
"analyzer": {
"text_anlyzer": {
"tokenizer": "ik_max_word",
"filter": "py"
}
},
"filter": {
"py": {
"type": "pinyin",
"keep_full_pinyin": true,
"keep_joined_full_pinyin": true,
"keep_original": true,
"limit_first_letter_length": 16,
"remove_duplicated_term": true,
"none_chinese_pinyin_tokenize": false
}
}
}
},
"mappings": {
"properties": {
"id":{
"type": "keyword"
},
"title":{
"type": "text",
"analyzer": "text_anlyzer",
"search_analyzer": "ik_smart"
},
"userId":{
"type": "long",
"index": false
},
"labelId":{
"type": "long",
"index": false
},
"html":{
"type": "keyword",
"index": false
},
"publicShow":{
"type": "integer"
},
"addTimeShow":{
"type": "keyword",
"index": false
},
"author":{
"type": "text",
"analyzer": "text_anlyzer",
"search_analyzer": "ik_smart"
},
"labelContent":{
"type": "text",
"analyzer": "text_anlyzer",
"search_analyzer": "ik_smart"
},
"abstractText":{
"type": "text",
"analyzer": "text_anlyzer",
"search_analyzer": "ik_smart"
}
}
}
}
GET /langhaiblogs/_search
{
"query": {
"multi_match": {
"query": "待更新",
"fields": ["title", "author", "labelContent", "abstractText"]
}
}
}
GET /langhaiblogs/_search
{
"query": {
"match_all": {}
}
}
有任何问题联系 QQ 676558206 email [email protected] [email protected]