1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
[[search-request-body]]
== Request Body Search
The search request can be executed with a search DSL, which includes the
<<query-dsl,Query DSL>>, within its body. Here is an
example:
[source,js]
--------------------------------------------------
$ curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{
"query" : {
"term" : { "user" : "kimchy" }
}
}
'
--------------------------------------------------
And here is a sample response:
[source,js]
--------------------------------------------------
{
"_shards":{
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits":{
"total" : 1,
"hits" : [
{
"_index" : "twitter",
"_type" : "tweet",
"_id" : "1",
"_source" : {
"user" : "kimchy",
"postDate" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
}
]
}
}
--------------------------------------------------
[float]
=== Parameters
[cols="<,<",options="header",]
|=======================================================================
|Name |Description
|`timeout` |A search timeout, bounding the search request to be executed
within the specified time value and bail with the hits accumulated up to
that point when expired. Defaults to no timeout.
|`from` |The starting from index of the hits to return. Defaults to `0`.
|`size` |The number of hits to return. Defaults to `10`.
|`search_type` |The type of the search operation to perform. Can be
`dfs_query_then_fetch`, `dfs_query_and_fetch`, `query_then_fetch`,
`query_and_fetch`. Defaults to `query_then_fetch`. See
<<search-request-search-type,_Search Type_>> for
more details on the different types of search that can be performed.
|=======================================================================
Out of the above, the `search_type` is the one that can not be passed
within the search request body, and in order to set it, it must be
passed as a request REST parameter.
The rest of the search request should be passed within the body itself.
The body content can also be passed as a REST parameter named `source`.
Both HTTP GET and HTTP POST can be used to execute search with body.
Since not all clients support GET with body, POST is allowed as well.
include::request/query.asciidoc[]
include::request/from-size.asciidoc[]
include::request/sort.asciidoc[]
include::request/source-filtering.asciidoc[]
include::request/fields.asciidoc[]
include::request/script-fields.asciidoc[]
include::request/fielddata-fields.asciidoc[]
include::request/post-filter.asciidoc[]
include::request/highlighting.asciidoc[]
include::request/rescore.asciidoc[]
include::request/search-type.asciidoc[]
include::request/scroll.asciidoc[]
include::request/preference.asciidoc[]
include::request/explain.asciidoc[]
include::request/version.asciidoc[]
include::request/index-boost.asciidoc[]
include::request/min-score.asciidoc[]
include::request/named-queries-and-filters.asciidoc[]
|