@Override public Query termsQuery(List values, @Nullable QueryShardContext context) { BytesRef[] ids = new BytesRef[values.size()]; for (int i = 0; i < ids.length; i++) { ids[i] = BytesRefs.toBytesRef(values.get(i)); } BooleanQuery.Builder query = new BooleanQuery.Builder(); query.add(new DocValuesTermsQuery(name(), ids), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(TypeFieldMapper.NAME, documentType)), BooleanClause.Occur.FILTER); return query.build(); }
@Override public Query termQuery(Object value, @Nullable QueryShardContext context) { return termsQuery(Collections.singletonList(value), context); }
@Override public MappedFieldType clone() { return new ParentFieldType(this); }
ParentFieldType(ParentFieldType ref, String documentType) { super(ref); this.documentType = documentType; }
@Override public MappedFieldType clone() { return new ParentFieldType(this); }
ParentFieldType() { documentType = null; setEagerGlobalOrdinals(true); }
@Override public Query termQuery(Object value, @Nullable QueryShardContext context) { return termsQuery(Collections.singletonList(value), context); }
@Override public Query termQuery(Object value, @Nullable QueryShardContext context) { return termsQuery(Collections.singletonList(value), context); }
@Override public MappedFieldType clone() { return new ParentFieldType(this); }
@Override public Query termQuery(Object value, @Nullable QueryShardContext context) { return termsQuery(Collections.singletonList(value), context); }
public Builder(String documentType) { super(Defaults.NAME, new ParentFieldType(Defaults.FIELD_TYPE, documentType), Defaults.FIELD_TYPE); // Defaults to true eagerGlobalOrdinals(true); this.documentType = documentType; builder = this; }
@Override public MetadataFieldMapper getDefault(MappedFieldType fieldType, ParserContext context) { final Settings indexSettings = context.mapperService().getIndexSettings().getSettings(); final String typeName = context.type(); KeywordFieldMapper parentJoinField = createParentJoinFieldMapper(typeName, new BuilderContext(indexSettings, new ContentPath(0))); MappedFieldType childJoinFieldType = new ParentFieldType(Defaults.FIELD_TYPE, typeName); childJoinFieldType.setName(ParentFieldMapper.NAME); return new ParentFieldMapper(parentJoinField, childJoinFieldType, null, indexSettings); } }
ParentFieldType() { documentType = null; setEagerGlobalOrdinals(true); }
@Override public MetadataFieldMapper getDefault(MappedFieldType fieldType, ParserContext context) { final Settings indexSettings = context.mapperService().getIndexSettings().getSettings(); final String typeName = context.type(); KeywordFieldMapper parentJoinField = createParentJoinFieldMapper(typeName, new BuilderContext(indexSettings, new ContentPath(0))); MappedFieldType childJoinFieldType = new ParentFieldType(Defaults.FIELD_TYPE, typeName); childJoinFieldType.setName(ParentFieldMapper.NAME); return new ParentFieldMapper(parentJoinField, childJoinFieldType, null, null, indexSettings); } }
public Builder(String documentType) { super(Defaults.NAME, new ParentFieldType(Defaults.FIELD_TYPE, documentType), Defaults.FIELD_TYPE); this.documentType = documentType; builder = this; }
@Override public MetadataFieldMapper getDefault(MappedFieldType fieldType, ParserContext context) { final Settings indexSettings = context.mapperService().getIndexSettings().getSettings(); final String typeName = context.type(); KeywordFieldMapper parentJoinField = createParentJoinFieldMapper(typeName, new BuilderContext(indexSettings, new ContentPath(0))); MappedFieldType childJoinFieldType = new ParentFieldType(Defaults.FIELD_TYPE, typeName); childJoinFieldType.setName(ParentFieldMapper.NAME); return new ParentFieldMapper(parentJoinField, childJoinFieldType, null, indexSettings); } }
public Builder(String documentType) { super(Defaults.NAME, new ParentFieldType(Defaults.FIELD_TYPE, documentType), Defaults.FIELD_TYPE); // Defaults to true eagerGlobalOrdinals(true); this.documentType = documentType; builder = this; }
@Override public Query termsQuery(List values, @Nullable QueryShardContext context) { BytesRef[] ids = new BytesRef[values.size()]; for (int i = 0; i < ids.length; i++) { ids[i] = BytesRefs.toBytesRef(values.get(i)); } BooleanQuery.Builder query = new BooleanQuery.Builder(); query.add(new DocValuesTermsQuery(name(), ids), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(TypeFieldMapper.NAME, documentType)), BooleanClause.Occur.FILTER); return query.build(); }
@Override public Query existsQuery(QueryShardContext context) { return new DocValuesFieldExistsQuery(name()); }
@Override public Query existsQuery(QueryShardContext context) { return new DocValuesFieldExistsQuery(name()); }