Elasticsearch 基本操作
1.索引的增删改查
- 查看集群健康
GET /_cluster/health
- 创建索引
PUT /index_test
例如:
{
"settings": {
"index": {
"number_of_shards": "2",
"number_of_replicas": "0"
}
}
}
- 查看索引
GET _cat/indices?v
- 删除索引
DELETE /index_test
2.索引的mappings映射
- 索引分词概念
index:默认true,设置为false的话,那么这个字段就不会被索引 - 创建索引同时创建mappings
PUT /index_mapping
例如:
{
"mappings": {
"properties": {
"realname": {
"type": "text",
"index": true
},
"username": {
"type": "keyword",
"index": false
}
}
}
}
- 查看分词效果
GET /index_mapping/_analyze
参数:
{
"field": "realname",
"text": "chocolate is good"
}
注:如果type是keyword,则不会被分词
- 尝试修改
POST /index_mapping/_mapping
参数:
{
"properties": {
"name": {
"type": "long"
}
}
}
已创建的属性不可以更改,只能进行添加
- 为已存在的索引创建mappings
POST /index_mapping/_mapping
参数:
{
"properties": {
"id": {
"type": "long"
},
"age": {
"type": "integer"
}
}
3.主要数据类型
- text, keyword,
string - long, integer, short, byte
- double, float
- boolean
- date
- object
- 数组不能混,类型一致
4.字符串
- text:文字类需要被分词被倒排索引的内容,比如商品名称,商品详情,商品介绍,使用text。
- keyword:不会被分词,不会被倒排索引,直接匹配搜索,比如订单状态,用户qq,微信号,手机号等,这些精确匹配,无需分词。