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.QueryfuzzyQuery(java.lang.Object value, Fuzziness fuzziness, int prefixLength, int maxExpansions, boolean transpositions, QueryShardContext context)protected org.apache.lucene.util.BytesRefindexedValueForSearch(java.lang.Object value)Returns the indexed value used to construct search "values".static java.lang.StringnormalizeWildcardPattern(java.lang.String fieldname, java.lang.String value, org.apache.lucene.analysis.Analyzer normalizer)org.apache.lucene.search.QueryprefixQuery(java.lang.String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)org.apache.lucene.search.QueryrangeQuery(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.QueryregexpQuery(java.lang.String value, int flags, int maxDeterminizedStates, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)org.apache.lucene.search.QuerytermQuery(java.lang.Object value, QueryShardContext context)Generates a query that will only match documents that contain the given value.org.apache.lucene.search.QuerytermsQuery(java.util.List<?> values, QueryShardContext context)Build a constant-scoring query that matches all values.org.apache.lucene.search.QuerywildcardQuery(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:
fuzzyQueryin classMappedFieldType
-
prefixQuery
public org.apache.lucene.search.Query prefixQuery(java.lang.String value, org.apache.lucene.search.MultiTermQuery.RewriteMethod method, QueryShardContext context)- Overrides:
prefixQueryin 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:
wildcardQueryin 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:
regexpQueryin 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:SimpleMappedFieldTypeSame asSimpleMappedFieldType.rangeQuery(Object, Object, boolean, boolean, ShapeRelation, ZoneId, DateMathParser, QueryShardContext)but without the trouble of relations or date-specific options.- Overrides:
rangeQueryin 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:MappedFieldTypeGenerates a query that will only match documents that contain the given value. The default implementation returns aTermQueryover the value bytes, boosted byMappedFieldType.boost().- Specified by:
termQueryin classMappedFieldType
-
termsQuery
public org.apache.lucene.search.Query termsQuery(java.util.List<?> values, QueryShardContext context)Description copied from class:MappedFieldTypeBuild a constant-scoring query that matches all values. The default implementation uses aConstantScoreQueryaround aBooleanQuerywhoseBooleanClause.Occur.SHOULDclauses are generated withMappedFieldType.termQuery(java.lang.Object, org.elasticsearch.index.query.QueryShardContext).- Overrides:
termsQueryin classMappedFieldType
-