Elasticsearch中的索引(index)可以理解为mysql的数据库、那么类型(type)即为数据库的表、文档(document)对应数据库表中的一条数据、字段(field)对应数据库表的字段。
基本类型:
Kibana简单操作:
1.1创建索引库默认副本为1,分片为5
PUT /test
{
"settings": {
"number_of_replicas": 1,
"number_of_shards": 5
},
"mappings": {
"user":{
"properties": {
"name":{
"type": "text",
"analyzer": "ik_max_word"
},
"age":{
"type": "integer"
},
"sex":{
"type": "integer"
},
"address":{
"type": "text",
"analyzer": "ik_max_word"
}
}
}
}
}
1.2查询test索引库下所有数据
GET test/_search
{
"query": {
"match_all": {}
}
}
1.3删除库
DELETE test
1.4分析分词器
GET _analyze
{
"text": "中华人民共和国最高人民法院",
"analyzer": "ik_smart"
}
1.5往索引里添加数据
PUT /lj/user/01
{
"name":"赵云",
"age":40,
"sex":0,
"address":"河北省正定县"
}
POST /lj/user/02
{
"name":"张飞",
"age":50,
"sex":0,
"address":"河北省保定市涿州市"
}
POST /lj/user/03
{
"name":"刘备",
"age":63,
"sex":0,
"address":"河北省保定市涿州市"
}
POST /lj/user/04
{
"name":"关羽",
"age":53,
"sex":0,
"address":"山西省运城市"
}
POST /lj/user/05
{
"name":"貂蝉",
"age":20,
"sex":1,
"address":"山西省忻州市"
}
POST /lj/user/06
{
"name":"王昭君",
"age":23,
"sex":1,
"address":"湖北省宜昌市兴山县"
}
POST /lj/user/07
{
"name":"杨贵妃",
"age":18,
"sex":1,
"address":"四川省成都市"
}
POST /lj/user/08
{
"name":"西施",
"age":26,
"sex":1,
"address":"浙江省"
}
//过滤查询
GET /lj/user/_search
{
"query": {
"bool": {
"filter": {
"term": {
"sex": 1
}
}
}
}
}
//过滤查询
GET /lj/user/_search
{
"query": {
"bool": {
"filter": {
"range": {
"age": {
"gte": 26,
"lte": 50
}
}
}
}
}
}
//精准查询
GET /lj/user/_search
{
"query": {
"match": {
"address": "山西"
}
}
}
//组合查询
GET /lj/user/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "贵妃"
}
}
]
, "filter": {
"term": {
"sex": 1
}
}
}
}
}
//过滤性别为女贵妃加权值
GET /lj/user/_search
{
"query": {
"bool": {
"should": [
{
"match": {
"name": "贵妃"
}
}
]
, "filter": {
"term": {
"sex": "1"
}
}
}
}
}