# es环境配置
-- Java jdk
- JAVA_HOME的配置
系统变量下新建一个JAVA_HOME: C:\Program Files\Java\jdk1.8.0_31
JAVA path :C:\Program Files\Java\jdk1.8.0_31\bin
# elasticsearch :解压ji安装
-- 默认监听 本机9200端口
集群端口是9300
-- 如果起不来:
- Java环境配置的有问题
- 端口冲突
- 插件有问题
# kibana
-- 默认监听 5601
-- 默认访问的是elasticsearch.url: "http://localhost:9200"
-- 如果你的kibana起不来怎么办:安装的目录不要有中文、空格
Creating index .kibana_1.
# 逻辑和物理上理解
-- 分布式、全文检索、高可用、
-- 面向文档
-- 索引 --> 类型 --> 文档 [---> 字段]
数据库 表 记录 字段
-- es中的分片和索引
- 默认创建一个es索引,会创建5个主分片和5个复制分片
- es中的分片就是Lucene中的索引
- Lucene索引存储不超过21亿篇文档或者2740亿个唯一词条tokens
-- 倒排索引 ******
-- see also https://www.cnblogs.com/Neeo/articles/10571307.html
# 简单操作
-- 增 PUT
-- 删 DELETE
-- 改 POST t1/doc/1
{
"doc":{
"name":"new_value"
}
}
-- 查
GET t1/ 查t1索引的信息
GET t1/doc/1 查指定文档
GET t1/doc/_search 查所有
GET _cat/_indices?v 查集群中的所有索引
-- 两种查询方式:
- query string
GET t1/doc/_search?q=age=18
- 结构化查询 推荐这么用
GET t1/doc/_search
{
"query": {
"match": {
"age": 18
}
}
}
如果有结果,就返回在hits里面
没有结果,htis是空列表
-- 复杂查询
- match系列
match 按关键字查询:做分词
match_all 查所有
match_phrase 短语查询 slop 中国的首都
- sort
desc
asc
- 分页 from size 从哪开始,展示size条数据
- 结果过滤:_source: ["name", "age"]
- bool: must should must_not filter
- 高亮查询
highlight:自定义和默认em
GET s21/doc/_search
{
"query": {
"match": {
"tags": "倾城"
}
},
"highlight": {
"pre_tags": "<b style='color: red;font-size:30px;'>",
"post_tags": "</b>",
"fields": {
"tags": {}
}
}
}
- 分组
sum
avg
min
max
group
GET s21/doc/_search
{
"query": {
"match_all": {}
},
"aggs": {
"group": {
"range": {
"field": "age",
"ranges": [
{
"from": 15,
"to": 20
},
{
"from": 21,
"to": 25
},
{
"from": 26,
"to": 30
}
]
},
"aggs": {
"sum": {
"sum": {
"field": "age"
}
}
}
}
}
}
-