Elasticsearch简单使用
小于 1 分钟
提示
Elasticsearch作为典型的文档数据库, 支持了可以用来存储嵌套文档, 日志等
1. 创建索引
PUT http://xx,xx,xx,xx:9201/addr?pretty
{
"settings": {
"index": {
"number_of_shards": 5,
"number_of_replicas": 1
}
},
"mappings": {
"properties": {
"poi_id": {
"type": "keyword"
},
"poi_src_guid": {
"type": "keyword"
},
"poi_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"ngram": {
"type": "text",
"analyzer": "ngram_analyzer",
"search_analyzer": "standard"
},
"standard": {
"type": "text",
"analyzer": "standard"
}
},
"analyzer": "ik_max_word"
},
"longitude": {
"type": "float"
},
"latitude": {
"type": "float"
},
"address": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
},
"ngram": {
"type": "text",
"analyzer": "ngram_analyzer",
"search_analyzer": "standard"
},
"standard": {
"type": "text",
"analyzer": "standard"
}
},
"analyzer": "ik_max_word"
},
"type_code": {
"type": "keyword"
},
"type_name": {
"type": "keyword"
},
"telephone": {
"type": "keyword"
},
"province_name": {
"type": "keyword"
},
"city_name": {
"type": "keyword"
},
"areacode": {
"type": "keyword"
},
"create_time": {
"type": "date",
"format": "yyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"ext1": {
"type": "keyword"
},
"ext2": {
"type": "keyword"
},
"ext3": {
"type": "keyword"
},
"ext4": {
"type": "keyword"
},
"ext5": {
"type": "keyword"
},
"ext6": {
"type": "keyword"
}
}
}
}
2. 新增数据
POST http://xx,xx,xx,xx:9201/addr/_doc
{
"poi_id": 123456,
"poiName": "江汉区唐家墩52号门口"
}
3. 删除
POST http://xx,xx,xx,xx:9201/addr/_doc/_delete_by_query
{
"query": {
"term": {
"poi_id": 123456
}
}
}
4. 更新
POST http://xx,xx,xx,xx:9201/addr/_doc/_update_by_query
{
"script":{
"inline": "ctx._source.poiName = '江汉区唐家墩53号门口'",
},
"query": {
"term": {
"poiId": 123456
}
}
}
5. 根据分词模糊查询
POST http://xx,xx,xx,xx:9201/addr/_doc/_search
{
"from": 0,
"size": 1,
"query": {
"match": {
"poiName": "大前门"
}
},
"sort": [
{
"_score": {
"order": "desc"
}
}
]
}