当前位置: 代码迷 >> 综合 >> docker 安装elasticsearch ,kibana。以及问题解决。
  详细解决方案

docker 安装elasticsearch ,kibana。以及问题解决。

热度:0   发布时间:2023-12-06 05:15:41.0

我做了一个导航站(域名是挂路灯的全拼gualudeng.com),里面精选了各种影视,动漫,黑科技,实用工具,搞笑有趣的站点,动动大家可爱的小手,点进来看看吧,良心站点。

1.安装ES可能出现的问题

max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]直接在docker宿主机上执行(不是容器)然后重启容器
sudo sysctl -w vm.max_map_count=655360

2.常用命令

GET /users/_search #获取users索引的全部数据
PUT /users/_doc/1 
{"name":"fang""age":18
} #新增一条数据,如果数据存在则更新文档,并修改版本号。DELETE /users/_doc/1
通过在更新请求中传递版本号可以实现乐观锁mvcc(更新后面要加_update)
GET /users/_doc/_mget
{"ids":[1,2]
}
GET /users/_search?from=1&size=1 
GET /users/_mapping #查看字段映射  
PUT /fang
{"mappings": {"properties": {"name":{"type":"text"},"age":{"type":"long"}}}
}GET _cat/indices?v{"multi_match": {"query":    "full text search","fields":   [ "title", "body" ]}
}{ "terms": { "tag": [ "search", "full_text", "nosql" ] }}
{"bool": {"must":     { "match": { "tweet": "elasticsearch" }},"must_not": { "match": { "name":  "mary" }},"should":   { "match": { "tweet": "full text" }},"filter":   { "range": { "age" : { "gt" : 30 }} }}
}

3.elasticsearch 数据类型详解

1.text可以被全文索引,并且会被分词。
2.keyword可以被全文索引,不会被分词精确搜索。用于等值,排序搜索。
3.整数类型byte -128~127 ,short -32768~32767, integer -2^31~2^31-1, long
4.浮点类型float double
5.日期类型date 可以存格式化的字符串,也可存整形时间戳

4.mapping配置

 "analyzer": "ik"ik_max_word:ik 中文分词插件提供,对文本进行最大数量分词laravel天下无敌 -> laravel,天下无敌 , 天下 , 无敌ik_smart: ik 中文分词插件提供,对文本进行最小数量分词laravel天下无敌 -> laravel,天下无敌

5.match multi_match query_string term区别

{"query":{"match":{"name":"fang"}}
}{"query":{"multi_match": {"query":                "Quick brown fox","type":                 "best_fields", "fields":               [ "title", "body" ],"tie_breaker":          0.3,"minimum_should_match": "30%" }}
}{"query":{"query_string":{"query":"fang"  #全部字段查询}}
}