Package org.apache.lucene.spatial.prefix

# Class ContainsPrefixTreeQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.spatial.prefix.AbstractPrefixTreeQuery
org.apache.lucene.spatial.prefix.ContainsPrefixTreeQuery

public class ContainsPrefixTreeQuery extends AbstractPrefixTreeQuery
Finds docs where its indexed shape `CONTAINS` the query shape. For use on `RecursivePrefixTreeStrategy`.

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.lucene.spatial.prefix.AbstractPrefixTreeQuery

`AbstractPrefixTreeQuery.BaseTermsEnumTraverser`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final boolean`
`multiOverlappingIndexedShapes`
If the spatial data for a document is comprised of multiple overlapping or adjacent parts, it might fail to match a query shape when doing the CONTAINS predicate when the sum of those shapes contain the query shape but none do individually.

### Fields inherited from class org.apache.lucene.spatial.prefix.AbstractPrefixTreeQuery

`detailLevel, fieldName, grid, queryShape`

## Constructor Summary

Constructors
Constructor
Description
`ContainsPrefixTreeQuery(org.locationtech.spatial4j.shape.Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel, boolean multiOverlappingIndexedShapes)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`equals(Object o)`
`protected DocIdSet`
`getDocIdSet(LeafReaderContext context)`
`int`
`hashCode()`
`String`
`toString(String field)`

### Methods inherited from class org.apache.lucene.spatial.prefix.AbstractPrefixTreeQuery

`createWeight, visit`

### Methods inherited from class org.apache.lucene.search.Query

`classHash, rewrite, sameClassAs, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Field Details

### multiOverlappingIndexedShapes

protected final boolean multiOverlappingIndexedShapes
If the spatial data for a document is comprised of multiple overlapping or adjacent parts, it might fail to match a query shape when doing the CONTAINS predicate when the sum of those shapes contain the query shape but none do individually. Set this to false to increase performance if you don't care about that circumstance (such as if your indexed data doesn't even have such conditions). See LUCENE-5062.

## Constructor Details

### ContainsPrefixTreeQuery

public ContainsPrefixTreeQuery(org.locationtech.spatial4j.shape.Shape queryShape, String fieldName, SpatialPrefixTree grid, int detailLevel, boolean multiOverlappingIndexedShapes)

## Method Details

### equals

public boolean equals(Object o)

Overrides:
  `equals` in class `AbstractPrefixTreeQuery`

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `AbstractPrefixTreeQuery`

### toString

public String toString(String field)

Specified by:
  `toString` in class `Query`

### getDocIdSet

protected DocIdSet getDocIdSet(LeafReaderContext context) throws IOException

Specified by:
  `getDocIdSet` in class `AbstractPrefixTreeQuery`
Throws:
  `IOException`