2013-08-28 19:24:34 -04:00
|
|
|
[[search-more-like-this]]
|
|
|
|
== More Like This API
|
|
|
|
|
|
|
|
The more like this (mlt) API allows to get documents that are "like" a
|
|
|
|
specified document. Here is an example:
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
$ curl -XGET 'http://localhost:9200/twitter/tweet/1/_mlt?mlt_fields=tag,content&min_doc_freq=1'
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
The API simply results in executing a search request with
|
|
|
|
<<query-dsl-mlt-query,moreLikeThis>> query (http
|
|
|
|
parameters match the parameters to the `more_like_this` query). This
|
|
|
|
means that the body of the request can optionally include all the
|
|
|
|
request body options in the <<search-search,search
|
2014-05-08 06:21:18 -04:00
|
|
|
API>> (aggs, from/to and so on). Internally, the more like this
|
|
|
|
API is equivalent to performing a boolean query of `more_like_this_field`
|
|
|
|
queries, with one query per specified `mlt_fields`.
|
2013-08-28 19:24:34 -04:00
|
|
|
|
|
|
|
Rest parameters relating to search are also allowed, including
|
|
|
|
`search_type`, `search_indices`, `search_types`, `search_scroll`,
|
|
|
|
`search_size` and `search_from`.
|
|
|
|
|
|
|
|
When no `mlt_fields` are specified, all the fields of the document will
|
|
|
|
be used in the `more_like_this` query generated.
|
|
|
|
|
|
|
|
Note: In order to use the `mlt` feature a `mlt_field` needs to be either
|
|
|
|
be `stored`, store `term_vector` or `source` needs to be enabled.
|