[DOCS] Rewrite prefix query docs ()

This commit is contained in:
James Rodewig 2019-07-29 08:37:01 -04:00
parent 652f943f30
commit 601521f4c1

@ -4,33 +4,66 @@
<titleabbrev>Prefix</titleabbrev>
++++
Matches documents that have fields containing terms with a specified
prefix (*not analyzed*). The prefix query maps to Lucene `PrefixQuery`.
The following matches documents where the user field contains a term
that starts with `ki`:
Returns documents that contain a specific prefix in a provided field.
[[prefix-query-ex-request]]
==== Example request
The following search returns documents where the `user` field contains a term
that begins with `ki`.
[source,js]
--------------------------------------------------
----
GET /_search
{ "query": {
"prefix" : { "user" : "ki" }
}
{
"query": {
"prefix": {
"user": {
"value": "ki"
}
}
}
}
--------------------------------------------------
----
// CONSOLE
A boost can also be associated with the query:
[[prefix-query-top-level-params]]
==== Top-level parameters for `prefix`
`<field>`::
(Required, object) Field you wish to search.
[[prefix-query-field-params]]
==== Parameters for `<field>`
`value`::
(Required, string) Beginning characters of terms you wish to find in the
provided `<field>`.
`rewrite`::
(Optional, string) Method used to rewrite the query. For valid values and more
information, see the <<query-dsl-multi-term-rewrite, `rewrite` parameter>>.
[[prefix-query-notes]]
==== Notes
[[prefix-query-short-ex]]
===== Short request example
You can simplify the `prefix` query syntax by combining the `<field>` and
`value` parameters. For example:
[source,js]
--------------------------------------------------
----
GET /_search
{ "query": {
"prefix" : { "user" : { "value" : "ki", "boost" : 2.0 } }
}
{
"query": {
"prefix" : { "user" : "ki" }
}
}
--------------------------------------------------
----
// CONSOLE
This multi term query allows you to control how it gets rewritten using the
<<query-dsl-multi-term-rewrite,rewrite>>
parameter.
[[prefix-query-index-prefixes]]
===== Speed up prefix queries
You can speed up prefix queries using the <<index-prefixes,`index_prefixes`>>
mapping parameter. If enabled, {es} indexes prefixes between 2 and 5
characters in a separate field. This lets {es} run prefix queries more
efficiently at the cost of a larger index.