Package org.elasticsearch.index.mapper
Class StringFieldType
- java.lang.Object
-
- org.apache.lucene.document.FieldType
-
- org.elasticsearch.index.mapper.MappedFieldType
-
- org.elasticsearch.index.mapper.SimpleMappedFieldType
-
- org.elasticsearch.index.mapper.StringFieldType
-
- All Implemented Interfaces:
org.apache.lucene.index.IndexableFieldType
- Direct Known Subclasses:
IgnoredFieldMapper.IgnoredFieldType
,KeywordFieldMapper.KeywordFieldType
,TextFieldMapper.TextFieldType
public abstract class StringFieldType extends SimpleMappedFieldType
Base class forMappedFieldType
implementations that use the same representation for internal index terms as the external representation so that partial matching queries such as prefix, wildcard and fuzzy queries can be implemented.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.elasticsearch.index.mapper.MappedFieldType
MappedFieldType.Relation
-
-
Constructor Summary
Constructors Modifier Constructor Description StringFieldType()
protected
StringFieldType(MappedFieldType ref)
-
Method Summary
Modifier and Type Method Description org.apache.lucene.search.Query
fuzzyQuery(java.lang.Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions)
protected org.apache.lucene.util.BytesRef
indexedValueForSearch(java.lang.Object value)
Returns the indexed value used to construct search "values".org.apache.lucene.search.Query
multiPhraseQuery(org.apache.lucene.analysis.TokenStream stream, int slop, boolean enablePositionIncrements)
org.apache.lucene.search.Query
phrasePrefixQuery(org.apache.lucene.analysis.TokenStream stream, int slop, int maxExpansions)
org.apache.lucene.search.Query
phraseQuery(org.apache.lucene.analysis.TokenStream stream, int slop, boolean enablePosIncrements)
org.apache.lucene.search.Query
prefixQuery(java.lang.String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
org.apache.lucene.search.Query
rangeQuery(java.lang.Object lowerTerm, java.lang.Object upperTerm, boolean includeLower, boolean includeUpper, QueryShardContext context)
Same asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, DateTimeZone, DateMathParser, QueryShardContext)
but without the trouble of relations or date-specific options.org.apache.lucene.search.Query
regexpQuery(java.lang.String value, int flags, int maxDeterminizedStates, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
org.apache.lucene.search.Query
termQuery(java.lang.Object value, QueryShardContext context)
Generates a query that will only match documents that contain the given value.org.apache.lucene.search.Query
termsQuery(java.util.List<?> values, QueryShardContext context)
Build a constant-scoring query that matches all values.org.apache.lucene.search.Query
wildcardQuery(java.lang.String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
-
Methods inherited from class org.elasticsearch.index.mapper.SimpleMappedFieldType
rangeQuery
-
Methods inherited from class org.elasticsearch.index.mapper.MappedFieldType
boost, checkCompatibility, clone, docValueFormat, eagerGlobalOrdinals, equals, existsQuery, extractTerm, failIfNoDocValues, failIfNotIndexed, fielddataBuilder, hasDocValues, hashCode, indexAnalyzer, isAggregatable, isFieldWithinQuery, isSearchable, name, nullValue, nullValueAsString, nullValueQuery, queryStringTermQuery, searchAnalyzer, searchQuoteAnalyzer, setBoost, setEagerGlobalOrdinals, setHasDocValues, setIndexAnalyzer, setName, setNullValue, setSearchAnalyzer, setSearchQuoteAnalyzer, setSimilarity, similarity, spanPrefixQuery, typeName, valueForDisplay
-
Methods inherited from class org.apache.lucene.document.FieldType
checkIfFrozen, docValuesType, freeze, getAttributes, indexOptions, omitNorms, pointDataDimensionCount, pointIndexDimensionCount, pointNumBytes, putAttribute, setDimensions, setDimensions, setDocValuesType, setIndexOptions, setOmitNorms, setStored, setStoreTermVectorOffsets, setStoreTermVectorPayloads, setStoreTermVectorPositions, setStoreTermVectors, setTokenized, stored, storeTermVectorOffsets, storeTermVectorPayloads, storeTermVectorPositions, storeTermVectors, tokenized, toString
-
-
-
-
Constructor Detail
-
StringFieldType
public StringFieldType()
-
StringFieldType
protected StringFieldType(MappedFieldType ref)
-
-
Method Detail
-
termsQuery
public org.apache.lucene.search.Query termsQuery(java.util.List<?> values, QueryShardContext context)
Description copied from class:MappedFieldType
Build a constant-scoring query that matches all values. The default implementation uses aConstantScoreQuery
around aBooleanQuery
whoseBooleanClause.Occur.SHOULD
clauses are generated withMappedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext)
.
-
fuzzyQuery
public org.apache.lucene.search.Query fuzzyQuery(java.lang.Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions)
- Overrides:
fuzzyQuery
in classMappedFieldType
-
prefixQuery
public org.apache.lucene.search.Query prefixQuery(java.lang.String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
- Overrides:
prefixQuery
in classMappedFieldType
-
wildcardQuery
public org.apache.lucene.search.Query wildcardQuery(java.lang.String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
- Overrides:
wildcardQuery
in classMappedFieldType
-
regexpQuery
public org.apache.lucene.search.Query regexpQuery(java.lang.String value, int flags, int maxDeterminizedStates, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)
- Overrides:
regexpQuery
in classMappedFieldType
-
rangeQuery
public org.apache.lucene.search.Query rangeQuery(java.lang.Object lowerTerm, java.lang.Object upperTerm, boolean includeLower, boolean includeUpper, QueryShardContext context)
Description copied from class:SimpleMappedFieldType
Same asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, DateTimeZone, DateMathParser, QueryShardContext)
but without the trouble of relations or date-specific options.- Overrides:
rangeQuery
in classSimpleMappedFieldType
-
phraseQuery
public org.apache.lucene.search.Query phraseQuery(org.apache.lucene.analysis.TokenStream stream, int slop, boolean enablePosIncrements) throws java.io.IOException
- Overrides:
phraseQuery
in classMappedFieldType
- Throws:
java.io.IOException
-
multiPhraseQuery
public org.apache.lucene.search.Query multiPhraseQuery(org.apache.lucene.analysis.TokenStream stream, int slop, boolean enablePositionIncrements) throws java.io.IOException
- Overrides:
multiPhraseQuery
in classMappedFieldType
- Throws:
java.io.IOException
-
phrasePrefixQuery
public org.apache.lucene.search.Query phrasePrefixQuery(org.apache.lucene.analysis.TokenStream stream, int slop, int maxExpansions) throws java.io.IOException
- Overrides:
phrasePrefixQuery
in classMappedFieldType
- Throws:
java.io.IOException
-
indexedValueForSearch
protected org.apache.lucene.util.BytesRef indexedValueForSearch(java.lang.Object value)
Returns the indexed value used to construct search "values". This method is used for the default implementations of most query factory methods such asMappedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext)
.
-
termQuery
public org.apache.lucene.search.Query termQuery(java.lang.Object value, QueryShardContext context)
Description copied from class:MappedFieldType
Generates a query that will only match documents that contain the given value. The default implementation returns aTermQuery
over the value bytes, boosted byMappedFieldType.boost()
.- Specified by:
termQuery
in classMappedFieldType
-
-