New

The executive guide to generative AI

Read more
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.

Span near query

edit

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. Here is an example:

resp = client.search(
    query={
        "span_near": {
            "clauses": [
                {
                    "span_term": {
                        "field": "value1"
                    }
                },
                {
                    "span_term": {
                        "field": "value2"
                    }
                },
                {
                    "span_term": {
                        "field": "value3"
                    }
                }
            ],
            "slop": 12,
            "in_order": False
        }
    },
)
print(resp)
response = client.search(
  body: {
    query: {
      span_near: {
        clauses: [
          {
            span_term: {
              field: 'value1'
            }
          },
          {
            span_term: {
              field: 'value2'
            }
          },
          {
            span_term: {
              field: 'value3'
            }
          }
        ],
        slop: 12,
        in_order: false
      }
    }
  }
)
puts response
const response = await client.search({
  query: {
    span_near: {
      clauses: [
        {
          span_term: {
            field: "value1",
          },
        },
        {
          span_term: {
            field: "value2",
          },
        },
        {
          span_term: {
            field: "value3",
          },
        },
      ],
      slop: 12,
      in_order: false,
    },
  },
});
console.log(response);
GET /_search
{
  "query": {
    "span_near": {
      "clauses": [
        { "span_term": { "field": "value1" } },
        { "span_term": { "field": "value2" } },
        { "span_term": { "field": "value3" } }
      ],
      "slop": 12,
      "in_order": false
    }
  }
}

The clauses element is a list of one or more other span type queries and the slop controls the maximum number of intervening unmatched positions permitted.