Package org.elasticsearch.index.mapper
Class StringFieldType
java.lang.Object
org.elasticsearch.index.mapper.MappedFieldType
org.elasticsearch.index.mapper.SimpleMappedFieldType
org.elasticsearch.index.mapper.StringFieldType
- Direct Known Subclasses:
IgnoredFieldMapper.IgnoredFieldType
,KeywordFieldMapper.KeywordFieldType
,TextFieldMapper.TextFieldType
,TypeFieldMapper.TypeFieldType
public abstract class StringFieldType extends SimpleMappedFieldType
Base class for
MappedFieldType
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 Constructor Description StringFieldType(java.lang.String name, boolean isSearchable, boolean hasDocValues, TextSearchInfo textSearchInfo, java.util.Map<java.lang.String,java.lang.String> meta)
-
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, QueryShardContext context)
protected org.apache.lucene.util.BytesRef
indexedValueForSearch(java.lang.Object value)
Returns the indexed value used to construct search "values".static java.lang.String
normalizeWildcardPattern(java.lang.String fieldname, java.lang.String value, org.apache.lucene.analysis.Analyzer normalizer)
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, ZoneId, 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.MappedFieldType
boost, docValueFormat, eagerGlobalOrdinals, existsQuery, extractTerm, failIfNoDocValues, failIfNotIndexed, familyTypeName, fielddataBuilder, getTextSearchInfo, hasDocValues, indexAnalyzer, intervals, isAggregatable, isFieldWithinQuery, isSearchable, meta, multiPhraseQuery, name, phrasePrefixQuery, phraseQuery, pointReaderIfPossible, setBoost, setEagerGlobalOrdinals, setIndexAnalyzer, spanPrefixQuery, typeName, updateMeta, valueForDisplay
-
Constructor Details
-
StringFieldType
public StringFieldType(java.lang.String name, boolean isSearchable, boolean hasDocValues, TextSearchInfo textSearchInfo, java.util.Map<java.lang.String,java.lang.String> meta)
-
-
Method Details
-
fuzzyQuery
public org.apache.lucene.search.Query fuzzyQuery(java.lang.Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions, QueryShardContext context)- 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
-
normalizeWildcardPattern
public static final java.lang.String normalizeWildcardPattern(java.lang.String fieldname, java.lang.String value, org.apache.lucene.analysis.Analyzer normalizer) -
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, ZoneId, DateMathParser, QueryShardContext)
but without the trouble of relations or date-specific options.- Overrides:
rangeQuery
in classSimpleMappedFieldType
-
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
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
-
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)
.- Overrides:
termsQuery
in classMappedFieldType
-