Span within query

edit

Returns matches which are enclosed inside another span query. The span within query maps to Lucene SpanWithinQuery. Here is an example:

response = client.search(
  body: {
    query: {
      span_within: {
        little: {
          span_term: {
            "field1": 'foo'
          }
        },
        big: {
          span_near: {
            clauses: [
              {
                span_term: {
                  "field1": 'bar'
                }
              },
              {
                span_term: {
                  "field1": 'baz'
                }
              }
            ],
            slop: 5,
            in_order: true
          }
        }
      }
    }
  }
)
puts response
GET /_search
{
  "query": {
    "span_within": {
      "little": {
        "span_term": { "field1": "foo" }
      },
      "big": {
        "span_near": {
          "clauses": [
            { "span_term": { "field1": "bar" } },
            { "span_term": { "field1": "baz" } }
          ],
          "slop": 5,
          "in_order": true
        }
      }
    }
  }
}

The big and little clauses can be any span type query. Matching spans from little that are enclosed within big are returned.