mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-03-31 12:28:51 +00:00
[DOCS] Rewrite prefix
query docs (#41955)
This commit is contained in:
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.
|
Loading…
x
Reference in New Issue
Block a user