public SearchContextHighlight build(QueryShardContext context) throws IOException { // create template global options that are later merged with any partial field options final SearchContextHighlight.FieldOptions.Builder globalOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); globalOptionsBuilder.encoder(this.encoder); transferOptions(this, globalOptionsBuilder, context); // overwrite unset global options by default values globalOptionsBuilder.merge(defaultOptions); // create field options Collection<org.elasticsearch.search.fetch.subphase.highlight.SearchContextHighlight.Field> fieldOptions = new ArrayList<>(); for (Field field : this.fields) { final SearchContextHighlight.FieldOptions.Builder fieldOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); fieldOptionsBuilder.fragmentOffset(field.fragmentOffset); if (field.matchedFields != null) { Set<String> matchedFields = new HashSet<>(field.matchedFields.length); Collections.addAll(matchedFields, field.matchedFields); fieldOptionsBuilder.matchedFields(matchedFields); } transferOptions(field, fieldOptionsBuilder, context); fieldOptions.add(new SearchContextHighlight.Field(field.name(), fieldOptionsBuilder .merge(globalOptionsBuilder.build()).build())); } return new SearchContextHighlight(fieldOptions); }
public SearchContextHighlight build(QueryShardContext context) throws IOException { // create template global options that are later merged with any partial field options final SearchContextHighlight.FieldOptions.Builder globalOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); globalOptionsBuilder.encoder(this.encoder); transferOptions(this, globalOptionsBuilder, context); // overwrite unset global options by default values globalOptionsBuilder.merge(defaultOptions); // create field options Collection<org.elasticsearch.search.fetch.subphase.highlight.SearchContextHighlight.Field> fieldOptions = new ArrayList<>(); for (Field field : this.fields) { final SearchContextHighlight.FieldOptions.Builder fieldOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); fieldOptionsBuilder.fragmentOffset(field.fragmentOffset); if (field.matchedFields != null) { Set<String> matchedFields = new HashSet<>(field.matchedFields.length); Collections.addAll(matchedFields, field.matchedFields); fieldOptionsBuilder.matchedFields(matchedFields); } transferOptions(field, fieldOptionsBuilder, context); fieldOptions.add(new SearchContextHighlight.Field(field.name(), fieldOptionsBuilder .merge(globalOptionsBuilder.build()).build())); } return new SearchContextHighlight(fieldOptions); }
public SearchContextHighlight build(QueryShardContext context) throws IOException { // create template global options that are later merged with any partial field options final SearchContextHighlight.FieldOptions.Builder globalOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); globalOptionsBuilder.encoder(this.encoder); transferOptions(this, globalOptionsBuilder, context); // overwrite unset global options by default values globalOptionsBuilder.merge(defaultOptions); // create field options Collection<org.elasticsearch.search.fetch.subphase.highlight.SearchContextHighlight.Field> fieldOptions = new ArrayList<>(); for (Field field : this.fields) { final SearchContextHighlight.FieldOptions.Builder fieldOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); fieldOptionsBuilder.fragmentOffset(field.fragmentOffset); if (field.matchedFields != null) { Set<String> matchedFields = new HashSet<String>(field.matchedFields.length); Collections.addAll(matchedFields, field.matchedFields); fieldOptionsBuilder.matchedFields(matchedFields); } transferOptions(field, fieldOptionsBuilder, context); fieldOptions.add(new SearchContextHighlight.Field(field.name(), fieldOptionsBuilder .merge(globalOptionsBuilder.build()).build())); } return new SearchContextHighlight(fieldOptions); }
public SearchContextHighlight build(QueryShardContext context) throws IOException { // create template global options that are later merged with any partial field options final SearchContextHighlight.FieldOptions.Builder globalOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); globalOptionsBuilder.encoder(this.encoder); transferOptions(this, globalOptionsBuilder, context); // overwrite unset global options by default values globalOptionsBuilder.merge(defaultOptions); // create field options Collection<org.elasticsearch.search.fetch.subphase.highlight.SearchContextHighlight.Field> fieldOptions = new ArrayList<>(); for (Field field : this.fields) { final SearchContextHighlight.FieldOptions.Builder fieldOptionsBuilder = new SearchContextHighlight.FieldOptions.Builder(); fieldOptionsBuilder.fragmentOffset(field.fragmentOffset); if (field.matchedFields != null) { Set<String> matchedFields = new HashSet<>(field.matchedFields.length); Collections.addAll(matchedFields, field.matchedFields); fieldOptionsBuilder.matchedFields(matchedFields); } transferOptions(field, fieldOptionsBuilder, context); fieldOptions.add(new SearchContextHighlight.Field(field.name(), fieldOptionsBuilder .merge(globalOptionsBuilder.build()).build())); } return new SearchContextHighlight(fieldOptions); }