ES的入门:
ES的雇员文档的设计和实现功能
ES的存放中包括:索引,类型,文档,字段
PUT /megacorp/employee/1
{
{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
}
megacorp 索引名称
employee 类型名称
1 特定雇员的ID
查询这个雇员文档
使用GET命令 GET /megacorp/employee/1
返回结果是
{
"_index" : "megacorp",
"_type" : "employee",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}
}
}
_source :表示存放数据是的原始文档
DELETE命令来删除文档
HEAD指令来检查文档
高级查询:
1. GET /megacorp/employee/_search
返回 该索引该类型下所有的数据,但是,默认返回10条数据
2.高亮查询:
GET /megacorp/employee/_search?q=last_name:Smith
返回结果是 last_name 为 Smith的所有数据
3.使用查询表达式搜索
上述查询可写成
GET /megacorp/employee/_search
{
{
"query" : {
"match" : {
"last_name" : "Smith"
}
}
}
}
match是查询类型,可以有不同的多种的查询参数的设置
4.复杂的查询表达式
在上面的查询结果中过滤出age>32
查询表达式的书写
GET /megacorp/employee/_search
{
{
"query" : {
"bool": {
"must": {
"match" : {
"last_name" : "smith"
}
},
"filter": {
"range" : {
"age" : { "gt" : 30 }
}
}
}
}
}
}
filter的使用-》fliter过滤器
5.短语查询
将两个单词组成的一个短语组成一个整体进行查询,不可分割
GET /megacorp/employee/_search
{
{
"query" : {
"match_phrase" : {
"about" : "rock climbing"
}
}
}
}
使用match_phrase进行数据查询
这个查询关键字就是,将整个字段当成一个字段来进行查询
6.高亮查询的使用
在查询的字段后加一个highlight的关键字
GET propdict/doc/_search
{
"query": {
"match": {
"value": "北京"
}
},
"highlight": {
"fields": {
"value": {}
}
}
}