GET /_search?q=2014 # 12 个结果
GET /_search?q=2014-09-15 # 还是 12 个结果 !
GET /_search?q=date:2014-09-15 # 1 一个结果
GET /_search?q=date:2014 # 0 个结果 !
GET /gb/_mapping/tweet
{
"gb": {
"mappings": {
"tweet": {
"properties": {
"date": {
"type": "date",
"format": "dateOptionalTime"
},
"name": {
"type": "string"
},
"tweet": {
"type": "string"
},
"user_id": {
"type": "long"
}
}
}
}
}
}
The quick brown fox jumped over the lazy dog
Quick brown foxes leap over lazy dogs in summer
Term | Doc_1 | Doc_2 |
---|---|---|
Quick | X | |
The | X | |
brown | X | X |
dog | X | |
dogs | X | |
fox | X | |
foxes | X | |
in | X | |
jumped | X | |
lazy | X | X |
leap | X | |
over | X | X |
quick | X | |
summer | X | |
the | X |
Term | Doc_1 | Doc_2 |
---|---|---|
brown | X | X |
quick | X | |
----- | ------- | ----- |
Total | 2 | 1 |
"Set the shape to semi-transparent by calling set_trans(5)"
set, the, shape, to, semi, transparent, by, calling, set_trans, 5
set, the, shape, to, semi, transparent, by, calling, set, trans
Set, the, shape, to, semi-transparent, by, calling, set_trans(5)
{ "tokens": [ { "token": "text", "start_offset": 0, "end_offset": 4, "type": "<ALPHANUM>", "position": 1 }, { "token": "to", "start_offset": 5, "end_offset": 7, "type": "<ALPHANUM>", "position": 2 }, { "token": "analyze", "start_offset": 8, "end_offset": 15, "type": "<ALPHANUM>", "position": 3 } ] }
类型 | 表示的数据类型 |
---|---|
String | string |
Whole number | byte, short, integer, long |
Floating point | float, double |
Boolean | boolean |
Date | date |
JSON type | Field type |
---|---|
Boolean: true or false | "boolean" |
Whole number: 123 | "long" |
Floating point: 123.45 | "double" |
String, valid date: "2014-09-15" | "date" |
String: "foo bar" | "string" |
GET /gb/_mapping/tweet
{ "gb": { "mappings": { "tweet": { "properties": { "date": { "type": "date", "format": "strict_date_optional_time||epoch_millis" }, "name": { "type": "string" }, "tweet": { "type": "string" }, "user_id": { "type": "long" } } } } } }
{ "number_of_clicks": { "type": "integer" } }
值 解释 analyzed 首先分析这个字符串,然后索引。换言之,以全文形式索引此字段。 not_analyzed 索引这个字段,使之可以被搜索,但是索引内容和指定值一样。不分析此字段。 no 不索引这个字段。这个字段不能为搜索到。
{ "tag": { "type": "string", "index": "not_analyzed" } }
{ "tweet": { "type": "text", "analyzer": "english" } }
PUT /gb { "mappings": { "tweet" : { "properties" : { "tweet" : { "type" : "text", "analyzer": "english" }, "date" : { "type" : "date" }, "name" : { "type" : "text" }, "user_id" : { "type" : "long" } } } } }
PUT /gb/_mapping/tweet { "properties" : { "tag" : { "type" : "string", "index": "not_analyzed" } } }
#! Deprecation: Expected a boolean [true/false] for property [index] but got [not_analyzed]
"empty_string": "", "null_value": null, "empty_array": [], "array_with_null_value": [ null ]
{ "tweet": "Elasticsearch is very flexible", "user": { "id": "@johnsmith", "gender": "male", "age": 26, "name": { "full": "John Smith", "first": "John", "last": "Smith" } } }
{ "gb": { "tweet": { //根对象 "properties": { "tweet": { "type": "string" }, "user": { //内部对象 "type": "object", "properties": { "id": { "type": "string" }, "gender": { "type": "string" }, "age": { "type": "long" }, "name": { //内部对象 "type": "object", "properties": { "full": { "type": "string" }, "first": { "type": "string" }, "last": { "type": "string" } } } } } } } } }
{ "tweet": [elasticsearch, flexible, very], "user.id": [@johnsmith], "user.gender": [male], "user.age": [26], "user.name.full": [john, smith], "user.name.first": [john], "user.name.last": [smith] }
{ "followers": [ { "age": 35, "name": "Mary White"}, { "age": 26, "name": "Alex Jones"}, { "age": 19, "name": "Lisa Smith"} ] }
{ "followers.age": [19, 26, 35], "followers.name": [alex, jones, lisa, smith, mary, white] }