共计 20020 个字符,预计需要花费 51 分钟才能阅读完成。
[toc]
实际 006-elasticsearch 查问之 1 -URI Search 查问
查问基于 movielens 数据索引。
一、URI Search 详解
1.1. URI Search 介绍
GET movies/_search?q=2012&df=title&sort=year:desc&from=0&size=10&timeout=1s
{"profile": "true"}
- q: 指定查问语句。应用
Query String Syntax
- df(default field): 默认字段,不指定时,会对
所有字段
进行查问。 - sort: 排序
- from/size: 用于分页
- profile: 能够查看查问是如何被执行的
后果:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : null,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "105254",
"_score" : null,
"_source" : {
"id" : "105254",
"genre" : [
"Adventure",
"Comedy"
],
"title" : "Crystal Fairy & the Magical Cactus and 2012",
"@version" : "1",
"year" : 2013
},
"sort" : [2013]
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "72378",
"_score" : null,
"_source" : {
"id" : "72378",
"genre" : [
"Action",
"Drama",
"Sci-Fi",
"Thriller"
],
"title" : "2012",
"@version" : "1",
"year" : 2009
},
"sort" : [2009]
}
]
},
"profile" : {
"shards" : [
{"id" : "[q3LSyHNoTSeAj6pqYovXjg][movies][0]",
"searches" : [
{
"query" : [
{
"type" : "TermQuery",
"description" : "title:2012",
"time_in_nanos" : 46388,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 1112,
"match" : 0,
"next_doc_count" : 2,
"score_count" : 0,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 954,
"advance_count" : 1,
"score" : 0,
"build_scorer_count" : 4,
"create_weight" : 7640,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 36674
}
}
],
"rewrite_time" : 9815,
"collector" : [
{
"name" : "CancellableCollector",
"reason" : "search_cancelled",
"time_in_nanos" : 151352,
"children" : [
{
"name" : "SimpleFieldCollector",
"reason" : "search_top_hits",
"time_in_nanos" : 141275
}
]
}
]
}
],
"aggregations" : []}
]
}
}
1.2. 字段查问:查问 title 里有 2012 的记录
GET movies/_search?q=2012&df=title
{"profile": "true"}
后果
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 11.303033,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "72378",
"_score" : 11.303033,
"_source" : {
"id" : "72378",
"genre" : [
"Action",
"Drama",
"Sci-Fi",
"Thriller"
],
"title" : "2012",
"@version" : "1",
"year" : 2009
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "105254",
"_score" : 5.2497,
"_source" : {
"id" : "105254",
"genre" : [
"Adventure",
"Comedy"
],
"title" : "Crystal Fairy & the Magical Cactus and 2012",
"@version" : "1",
"year" : 2013
}
}
]
},
"profile" : {
"shards" : [
{"id" : "[q3LSyHNoTSeAj6pqYovXjg][movies][0]",
"searches" : [
{
"query" : [
{
"type" : "TermQuery",
"description" : "title:2012",
"time_in_nanos" : 86723,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 1996,
"match" : 0,
"next_doc_count" : 2,
"score_count" : 2,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 1666,
"advance_count" : 1,
"score" : 4088,
"build_scorer_count" : 4,
"create_weight" : 59362,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 19601
}
}
],
"rewrite_time" : 15506,
"collector" : [
{
"name" : "CancellableCollector",
"reason" : "search_cancelled",
"time_in_nanos" : 23385,
"children" : [
{
"name" : "SimpleTopScoreDocCollector",
"reason" : "search_top_hits",
"time_in_nanos" : 14883
}
]
}
]
}
],
"aggregations" : []}
]
}
}
1.3. 泛查问:查问2012
GET movies/_search?q=2012
{"profile": "true"}
泛查问,不指定字段,则会查问所有字段:
{
"took" : 26,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 219,
"relation" : "eq"
},
"max_score" : 11.303033,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "72378",
"_score" : 11.303033,
"_source" : {
"id" : "72378",
"genre" : [
"Action",
"Drama",
"Sci-Fi",
"Thriller"
],
"title" : "2012",
"@version" : "1",
"year" : 2009
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "2012",
"_score" : 8.778942,
"_source" : {
"id" : "2012",
"genre" : [
"Adventure",
"Comedy",
"Sci-Fi",
"Western"
],
"title" : "Back to the Future Part III",
"@version" : "1",
"year" : 1990
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "105254",
"_score" : 5.2497,
"_source" : {
"id" : "105254",
"genre" : [
"Adventure",
"Comedy"
],
"title" : "Crystal Fairy & the Magical Cactus and 2012",
"@version" : "1",
"year" : 2013
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "89745",
"_score" : 1.0,
"_source" : {
"id" : "89745",
"genre" : [
"Action",
"Adventure",
"Sci-Fi",
"IMAX"
],
"title" : "Avengers, The",
"@version" : "1",
"year" : 2012
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "91483",
"_score" : 1.0,
"_source" : {
"id" : "91483",
"genre" : [
"Action",
"Crime",
"Film-Noir"
],
"title" : "Bullet to the Head",
"@version" : "1",
"year" : 2012
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "91485",
"_score" : 1.0,
"_source" : {
"id" : "91485",
"genre" : [
"Action",
"Adventure"
],
"title" : "Expendables 2, The",
"@version" : "1",
"year" : 2012
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "91500",
"_score" : 1.0,
"_source" : {
"id" : "91500",
"genre" : [
"Action",
"Adventure",
"Drama",
"Sci-Fi",
"Thriller"
],
"title" : "The Hunger Games",
"@version" : "1",
"year" : 2012
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "91529",
"_score" : 1.0,
"_source" : {
"id" : "91529",
"genre" : [
"Action",
"Adventure",
"Crime",
"IMAX"
],
"title" : "Dark Knight Rises, The",
"@version" : "1",
"year" : 2012
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "91535",
"_score" : 1.0,
"_source" : {
"id" : "91535",
"genre" : [
"Action",
"Adventure",
"Drama",
"Thriller",
"IMAX"
],
"title" : "Bourne Legacy, The",
"@version" : "1",
"year" : 2012
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "91842",
"_score" : 1.0,
"_source" : {
"id" : "91842",
"genre" : [
"Action",
"Crime",
"Drama",
"Thriller"
],
"title" : "Contraband",
"@version" : "1",
"year" : 2012
}
}
]
},
"profile" : {
"shards" : [
{"id" : "[q3LSyHNoTSeAj6pqYovXjg][movies][0]",
"searches" : [
{
"query" : [
{
"type" : "DisjunctionMaxQuery",
"description" : "(title.keyword:2012 | id.keyword:2012 | year:[2012 TO 2012] | genre:2012 | @version:2012 | @version.keyword:2012 | id:2012 | genre.keyword:2012 | title:2012)",
"time_in_nanos" : 7531487,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 246625,
"match" : 0,
"next_doc_count" : 219,
"score_count" : 219,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 112721,
"advance_count" : 3,
"score" : 281143,
"build_scorer_count" : 6,
"create_weight" : 4705554,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 2184996
},
"children" : [
{
"type" : "TermQuery",
"description" : "title.keyword:2012",
"time_in_nanos" : 93180,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 3,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 1,
"compute_max_score_count" : 4,
"compute_max_score" : 4627,
"advance" : 628,
"advance_count" : 2,
"score" : 567,
"build_scorer_count" : 4,
"create_weight" : 76543,
"shallow_advance" : 460,
"create_weight_count" : 1,
"build_scorer" : 10340
}
},
{
"type" : "TermQuery",
"description" : "id.keyword:2012",
"time_in_nanos" : 4544650,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 3,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 1,
"compute_max_score_count" : 4,
"compute_max_score" : 17021,
"advance" : 2250,
"advance_count" : 2,
"score" : 3324,
"build_scorer_count" : 4,
"create_weight" : 4484368,
"shallow_advance" : 11479,
"create_weight_count" : 1,
"build_scorer" : 26193
}
},
{
"type" : "PointRangeQuery",
"description" : "year:[2012 TO 2012]",
"time_in_nanos" : 178315,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 6,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 216,
"compute_max_score_count" : 9,
"compute_max_score" : 16956,
"advance" : 21989,
"advance_count" : 219,
"score" : 13542,
"build_scorer_count" : 6,
"create_weight" : 464,
"shallow_advance" : 19199,
"create_weight_count" : 1,
"build_scorer" : 105708
}
},
{
"type" : "TermQuery",
"description" : "genre:2012",
"time_in_nanos" : 7058,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 0,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 0,
"advance_count" : 0,
"score" : 0,
"build_scorer_count" : 3,
"create_weight" : 6183,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 871
}
},
{
"type" : "TermQuery",
"description" : "@version:2012",
"time_in_nanos" : 6264,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 0,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 0,
"advance_count" : 0,
"score" : 0,
"build_scorer_count" : 3,
"create_weight" : 5736,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 524
}
},
{
"type" : "TermQuery",
"description" : "@version.keyword:2012",
"time_in_nanos" : 4650,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 0,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 0,
"advance_count" : 0,
"score" : 0,
"build_scorer_count" : 3,
"create_weight" : 4132,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 514
}
},
{
"type" : "TermQuery",
"description" : "id:2012",
"time_in_nanos" : 35330,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 3,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 1,
"compute_max_score_count" : 4,
"compute_max_score" : 3526,
"advance" : 665,
"advance_count" : 2,
"score" : 1631,
"build_scorer_count" : 4,
"create_weight" : 20909,
"shallow_advance" : 463,
"create_weight_count" : 1,
"build_scorer" : 8121
}
},
{
"type" : "TermQuery",
"description" : "genre.keyword:2012",
"time_in_nanos" : 9156,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 0,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 0,
"advance_count" : 0,
"score" : 0,
"build_scorer_count" : 3,
"create_weight" : 8585,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 567
}
},
{
"type" : "TermQuery",
"description" : "title:2012",
"time_in_nanos" : 45032,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 3,
"set_min_competitive_score" : 0,
"next_doc" : 0,
"match" : 0,
"next_doc_count" : 0,
"score_count" : 2,
"compute_max_score_count" : 5,
"compute_max_score" : 2049,
"advance" : 987,
"advance_count" : 3,
"score" : 1579,
"build_scorer_count" : 4,
"create_weight" : 28629,
"shallow_advance" : 290,
"create_weight_count" : 1,
"build_scorer" : 11480
}
}
]
}
],
"rewrite_time" : 25190,
"collector" : [
{
"name" : "CancellableCollector",
"reason" : "search_cancelled",
"time_in_nanos" : 338677,
"children" : [
{
"name" : "SimpleTopScoreDocCollector",
"reason" : "search_top_hits",
"time_in_nanos" : 311751
}
]
}
]
}
],
"aggregations" : []}
]
}
}
1.4. 间接指定字段查问
GET movies/_search?q=title:2012
{"profile": "true"}
后果:
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 11.303033,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "72378",
"_score" : 11.303033,
"_source" : {
"id" : "72378",
"genre" : [
"Action",
"Drama",
"Sci-Fi",
"Thriller"
],
"title" : "2012",
"@version" : "1",
"year" : 2009
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "105254",
"_score" : 5.2497,
"_source" : {
"id" : "105254",
"genre" : [
"Adventure",
"Comedy"
],
"title" : "Crystal Fairy & the Magical Cactus and 2012",
"@version" : "1",
"year" : 2013
}
}
]
},
"profile" : {
"shards" : [
{"id" : "[q3LSyHNoTSeAj6pqYovXjg][movies][0]",
"searches" : [
{
"query" : [
{
"type" : "TermQuery",
"description" : "title:2012",
"time_in_nanos" : 83066,
"breakdown" : {
"set_min_competitive_score_count" : 0,
"match_count" : 0,
"shallow_advance_count" : 0,
"set_min_competitive_score" : 0,
"next_doc" : 14360,
"match" : 0,
"next_doc_count" : 2,
"score_count" : 2,
"compute_max_score_count" : 0,
"compute_max_score" : 0,
"advance" : 2226,
"advance_count" : 1,
"score" : 3328,
"build_scorer_count" : 4,
"create_weight" : 33040,
"shallow_advance" : 0,
"create_weight_count" : 1,
"build_scorer" : 30102
}
}
],
"rewrite_time" : 1577,
"collector" : [
{
"name" : "CancellableCollector",
"reason" : "search_cancelled",
"time_in_nanos" : 14514,
"children" : [
{
"name" : "SimpleTopScoreDocCollector",
"reason" : "search_top_hits",
"time_in_nanos" : 6528
}
]
}
]
}
],
"aggregations" : []}
]
}
}
二、Term vs Phrase
2.1 Term vs Phrase 区别
2.1.1 Term: Beautiful Mind ==> Beautiful OR Mind
查问含意:有
beautiful
或者 有mind
,两者有一个即可;
2.1.2 Phrase: “Beautiful Mind” ==> Beautiful AND Mind
查问含意:有
beautiful
也要有mind
, 都要有,程序也要对;
2.2 Term & Phrase 测试案例
2.2.1 Phrase 查问 - 应用引号 ””
GET movies/_search?q=title:"Beautiful Mind"
Phrase 蕴含的都要有,程序也不能错,后果只匹配到一个:
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 13.68748,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4995",
"_score" : 13.68748,
"_source" : {
"id" : "4995",
"genre" : [
"Drama",
"Romance"
],
"title" : "Beautiful Mind, A",
"@version" : "1",
"year" : 2001
}
}
]
}
}
2.2.2 泛查问 - 不必引号 ””
GET movies/_search?q=title:(Beautiful Mind)
蕴含两个中的一个即可:查到 20 个:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 20,
"relation" : "eq"
},
"max_score" : 13.687479,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4995",
"_score" : 13.687479,
"_source" : {
"id" : "4995",
"genre" : [
"Drama",
"Romance"
],
"title" : "Beautiful Mind, A",
"@version" : "1",
"year" : 2001
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "3912",
"_score" : 8.723258,
"_source" : {
"id" : "3912",
"genre" : [
"Comedy",
"Drama"
],
"title" : "Beautiful",
"@version" : "1",
"year" : 2000
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "47404",
"_score" : 8.576847,
"_source" : {
"id" : "47404",
"genre" : [
"Adventure",
"Animation",
"Comedy",
"Fantasy",
"Romance",
"Sci-Fi"
],
"title" : "Mind Game",
"@version" : "1",
"year" : 2004
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "1046",
"_score" : 7.317063,
"_source" : {
"id" : "1046",
"genre" : [
"Drama",
"Romance"
],
"title" : "Beautiful Thing",
"@version" : "1",
"year" : 1996
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "94",
"_score" : 7.317063,
"_source" : {
"id" : "94",
"genre" : [
"Comedy",
"Drama",
"Romance"
],
"title" : "Beautiful Girls",
"@version" : "1",
"year" : 1996
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4242",
"_score" : 7.317063,
"_source" : {
"id" : "4242",
"genre" : [
"Comedy",
"Crime",
"Drama",
"Thriller"
],
"title" : "Beautiful Creatures",
"@version" : "1",
"year" : 2000
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4372",
"_score" : 7.317063,
"_source" : {
"id" : "4372",
"genre" : [
"Drama",
"Romance"
],
"title" : "Crazy/Beautiful",
"@version" : "1",
"year" : 2001
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "3302",
"_score" : 7.317063,
"_source" : {
"id" : "3302",
"genre" : ["Comedy"],
"title" : "Beautiful People",
"@version" : "1",
"year" : 1999
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "90353",
"_score" : 7.317063,
"_source" : {
"id" : "90353",
"genre" : ["Drama"],
"title" : "Beautiful Boy",
"@version" : "1",
"year" : 2010
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "100487",
"_score" : 7.317063,
"_source" : {
"id" : "100487",
"genre" : [
"Drama",
"Fantasy",
"Romance"
],
"title" : "Beautiful Creatures",
"@version" : "1",
"year" : 2013
}
}
]
}
}
2.2.3 分组与引号:TermQuery 与 PhraseQuery
- title:(Beautiful Mind) –> TermQuery
- title:”Beautiful Mind” –> PhraseQuery
2.2.4 布尔操作
AND / OR / NOT 或者 &&/||/!
- 必须大写;
- title:(matrix NOT reloaded)
2.2.5 分组示意:+、- 示意
- + 示意 must
- – 示意 must_not
- title:(+matrix -reloaded)
2.2.6 有 beautiful 有 mind
GET movies/_search?q=title:(Beautiful AND Mind)
后果只有 “ 漂亮心灵 ”
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 13.687479,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4995",
"_score" : 13.687479,
"_source" : {
"id" : "4995",
"genre" : [
"Drama",
"Romance"
],
"title" : "Beautiful Mind, A",
"@version" : "1",
"year" : 2001
}
}
]
}
}
2.2.7 有 beautiful 无 mind
GET movies/_search?q=title:(Beautiful NOT Mind)
后果中不会有蕴含 mind
的, 只有Beautiful
, 因此 ” 漂亮心灵 ” 也不会呈现:
{
"took" : 4,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 15,
"relation" : "eq"
},
"max_score" : 8.723258,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "3912",
"_score" : 8.723258,
"_source" : {
"id" : "3912",
"genre" : [
"Comedy",
"Drama"
],
"title" : "Beautiful",
"@version" : "1",
"year" : 2000
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "1046",
"_score" : 7.317063,
"_source" : {
"id" : "1046",
"genre" : [
"Drama",
"Romance"
],
"title" : "Beautiful Thing",
"@version" : "1",
"year" : 1996
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "94",
"_score" : 7.317063,
"_source" : {
"id" : "94",
"genre" : [
"Comedy",
"Drama",
"Romance"
],
"title" : "Beautiful Girls",
"@version" : "1",
"year" : 1996
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4242",
"_score" : 7.317063,
"_source" : {
"id" : "4242",
"genre" : [
"Comedy",
"Crime",
"Drama",
"Thriller"
],
"title" : "Beautiful Creatures",
"@version" : "1",
"year" : 2000
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4372",
"_score" : 7.317063,
"_source" : {
"id" : "4372",
"genre" : [
"Drama",
"Romance"
],
"title" : "Crazy/Beautiful",
"@version" : "1",
"year" : 2001
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "3302",
"_score" : 7.317063,
"_source" : {
"id" : "3302",
"genre" : ["Comedy"],
"title" : "Beautiful People",
"@version" : "1",
"year" : 1999
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "90353",
"_score" : 7.317063,
"_source" : {
"id" : "90353",
"genre" : ["Drama"],
"title" : "Beautiful Boy",
"@version" : "1",
"year" : 2010
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "100487",
"_score" : 7.317063,
"_source" : {
"id" : "100487",
"genre" : [
"Drama",
"Fantasy",
"Romance"
],
"title" : "Beautiful Creatures",
"@version" : "1",
"year" : 2013
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "114126",
"_score" : 7.317063,
"_source" : {
"id" : "114126",
"genre" : ["Documentary"],
"title" : "Beautiful Losers",
"@version" : "1",
"year" : 2008
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "2324",
"_score" : 6.3012905,
"_source" : {
"id" : "2324",
"genre" : [
"Comedy",
"Drama",
"Romance",
"War"
],
"title" : "Life Is Beautiful",
"@version" : "1",
"year" : 0
}
}
]
}
}
2.2.8 可能有 beautiful,但必须有 mind
GET movies/_search?q=title:(Beautiful %2BMind)
- +(%2B): must
- -(%2D): must_not
- !(%21): NOT
必须有 mind, Beautiful 可有可无:
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 5,
"relation" : "eq"
},
"max_score" : 13.687479,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4995",
"_score" : 13.687479,
"_source" : {
"id" : "4995",
"genre" : [
"Drama",
"Romance"
],
"title" : "Beautiful Mind, A",
"@version" : "1",
"year" : 2001
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "47404",
"_score" : 8.576847,
"_source" : {
"id" : "47404",
"genre" : [
"Adventure",
"Animation",
"Comedy",
"Fantasy",
"Romance",
"Sci-Fi"
],
"title" : "Mind Game",
"@version" : "1",
"year" : 2004
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "6003",
"_score" : 5.7810974,
"_source" : {
"id" : "6003",
"genre" : [
"Comedy",
"Crime",
"Drama",
"Thriller"
],
"title" : "Confessions of a Dangerous Mind",
"@version" : "1",
"year" : 2002
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "144606",
"_score" : 5.7810974,
"_source" : {
"id" : "144606",
"genre" : [
"Comedy",
"Crime",
"Drama",
"Romance",
"Thriller"
],
"title" : "Confessions of a Dangerous Mind",
"@version" : "1",
"year" : 2002
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "7361",
"_score" : 5.2145147,
"_source" : {
"id" : "7361",
"genre" : [
"Drama",
"Romance",
"Sci-Fi"
],
"title" : "Eternal Sunshine of the Spotless Mind",
"@version" : "1",
"year" : 2004
}
}
]
}
}
2.2.9 范畴查问:[] 闭区间 {}开区间
- year:{2019 TO 2018}
上面会查到所有 2017
年的(2016 和 2018 不会蕴含)
GET movies/_search?q=year:({2016 TO 2018})
- year:[* TO 2018] –> 2018 年以前(包含 2018)
下列会查到 2016
、2017
、2018
三个年份的:
GET movies/_search?q=year:([2016 TO 2018])
2.2.10 算术符号:>
, >=
, <
, <=
- year:>2010
2010 年当前
下列是查问 2017 年当前的(不包含 2017)
GET movies/_search?q=year:(>2017)
- year:(>2010 AND <=2018)
大于 2010 且小于等于 2018
GET movies/_search?q=year:(>2010 AND <=2018)
2.2.11 查问 1980 年当前的电影
GET movies/_search?q=year:>=1999&sort=year:desc
查问所有 1999 年当前的电影,依照 year 倒序
2.2.12 通配符查问(不倡议:低效、耗内存,特地是前置)
?
一个字符 –>title:mi?d
–> 会匹配mind
miid
等*
0 或多个字符 –>title:be*
–》会匹配beautiful
等
2.2.13 含糊查问与近似查问
- title:beautifl~1 –》匹配 ”beautiful”: 上面都会匹配到
beautiful
(~1) 示意容错一个字符:
POST movies/_search?q=title:beautifal~1
POST movies/_search?q=title:beautifl~1
- title:”lord rings”~2 –> 可查到 ”Lord of the Rings…” 也就是两头能够有 2 个多余词!
POST movies/_search?q=title:"lord rings"~2
POST movies/_search?q=title:"lord rings"~3
下面的能够查问到:
{
"took" : 0,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 4,
"relation" : "eq"
},
"max_score" : 4.700435,
"hits" : [
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "2116",
"_score" : 4.700435,
"_source" : {
"id" : "2116",
"genre" : [
"Adventure",
"Animation",
"Children",
"Fantasy"
],
"title" : "Lord of the Rings, The",
"@version" : "1",
"year" : 1978
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "5952",
"_score" : 3.2970178,
"_source" : {
"id" : "5952",
"genre" : [
"Adventure",
"Fantasy"
],
"title" : "Lord of the Rings: The Two Towers, The",
"@version" : "1",
"year" : 2002
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "4993",
"_score" : 2.7496965,
"_source" : {
"id" : "4993",
"genre" : [
"Adventure",
"Fantasy"
],
"title" : "Lord of the Rings: The Fellowship of the Ring, The",
"@version" : "1",
"year" : 2001
}
},
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "7153",
"_score" : 2.7496965,
"_source" : {
"id" : "7153",
"genre" : [
"Action",
"Adventure",
"Drama",
"Fantasy"
],
"title" : "Lord of the Rings: The Return of the King, The",
"@version" : "1",
"year" : 2003
}
}
]
}
}
正文完
发表至: elasticsearch
2022-04-28