From 8fbf92bf8d48d8555938f92dac054e38c0131388 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mantas=20Marcinkevi=C4=8Dius?= <marc.mantas@gmail.com> Date: Tue, 7 Mar 2017 14:10:30 +0200 Subject: [PATCH] added documentation for span near query (#224) --- docs/Query/Span/SpanNear.md | 41 ++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/docs/Query/Span/SpanNear.md b/docs/Query/Span/SpanNear.md index f063e2d..9079d47 100644 --- a/docs/Query/Span/SpanNear.md +++ b/docs/Query/Span/SpanNear.md @@ -1 +1,40 @@ -Documentation in progress... \ No newline at end of file +# Span Near Query + +> More info about span near query is in the [official elasticsearch docs][1] + +Matches spans which are near one another. One can specify slop, the maximum number of intervening unmatched positions, as well as whether matches are required to be in-order. The span near query maps to Lucene SpanNearQuery. Here is an example: + +## Simple example + +```JSON +{ + "query": { + "span_near" : { + "clauses" : [ + { "span_term" : { "field" : "value1" } }, + { "span_term" : { "field" : "value2" } }, + { "span_term" : { "field" : "value3" } } + ], + "slop" : 12, + "in_order" : false + } + } +} +``` + +In DSL: + +```php +$search = new Search(); +$spanNearQuery = new SpanNearQuery(); +$spanNearQuery->addQuery(new SpanTermQuery('field', 'value1')); +$spanNearQuery->addQuery(new SpanTermQuery('field', 'value2')); +$spanNearQuery->addQuery(new SpanTermQuery('field', 'value3')); +$spanNearQuery->addParameter('slop', 12); +$spanNearQuery->addParameter('in_order', false); +$search->addQuery($spanNearQuery); + +$queryArray = $search->toArray(); +``` + +[1]: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-span-near-query.html -- GitLab