org.elasticsearch.index.query.AbstractQueryBuilder Java Examples
The following examples show how to use
org.elasticsearch.index.query.AbstractQueryBuilder.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: SearchQueryBuilder.java From spring-rdbms-cdc-kafka-elasticsearch with Apache License 2.0 | 5 votes |
/** * Add query or nested query depending on the provided field. * if the field name contains a dot "." then we should extract the index name * * @param parameter query parameters * @param function a supplier that defines the query that will be added * @return an instance of {@link NativeSearchQueryBuilder} */ private NativeSearchQueryBuilder getQuery(QueryParameter parameter, Supplier<AbstractQueryBuilder> function) { if (StringUtils.contains(parameter.getField(), DOT)) { String indexName = StringUtils.substringBeforeLast(parameter.getField(), DOT); return searchQuery.withQuery(nestedQuery(indexName, function.get(), ScoreMode.None)); } else { return searchQuery.withQuery(function.get()); } }
Example #2
Source File: ExplorerQueryBuilderTests.java From elasticsearch-learning-to-rank with Apache License 2.0 | 5 votes |
@Override public void testMustRewrite() throws IOException { QueryShardContext context = createShardContext(); context.setAllowUnmappedFields(true); ExplorerQueryBuilder queryBuilder = createTestQueryBuilder(); queryBuilder.boost(AbstractQueryBuilder.DEFAULT_BOOST); QueryBuilder rewritten = queryBuilder.rewrite(context); // though the query may be rewritten, we assert that we // always rewrite to an ExplorerQueryBuilder (same goes for ExplorerQuery...) assertThat(rewritten, instanceOf(ExplorerQueryBuilder.class)); Query q = rewritten.toQuery(context); assertThat(q, instanceOf(ExplorerQuery.class)); }
Example #3
Source File: ExactPhraseQueryBuilder.java From elasticsearch-plugin-bundle with GNU Affero General Public License v3.0 | 5 votes |
public static ExactPhraseQueryBuilder fromXContent(XContentParser parser) throws IOException { float boost = AbstractQueryBuilder.DEFAULT_BOOST; String queryName = null; QueryBuilder query = null; String currentFieldName = null; XContentParser.Token token; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { currentFieldName = parser.currentName(); } else if (token == XContentParser.Token.START_OBJECT) { if (currentFieldName != null) { if (QUERY_FIELD.match(currentFieldName, parser.getDeprecationHandler())) { query = parseInnerQueryBuilder(parser); } else { throw new ParsingException(parser.getTokenLocation(), "[nested] query does not support [" + currentFieldName + "]"); } } } else if (token.isValue()) { if (currentFieldName != null) { if (AbstractQueryBuilder.BOOST_FIELD.match(currentFieldName, parser.getDeprecationHandler())) { boost = parser.floatValue(); } else if (AbstractQueryBuilder.NAME_FIELD.match(currentFieldName, parser.getDeprecationHandler())) { queryName = parser.text(); } else { throw new ParsingException(parser.getTokenLocation(), "[nested] query does not support [" + currentFieldName + "]"); } } } } return new ExactPhraseQueryBuilder(query).queryName(queryName).boost(boost); }
Example #4
Source File: StoredFeatureParserTests.java From elasticsearch-learning-to-rank with Apache License 2.0 | 4 votes |
private String writeAsNonFormattedString(AbstractQueryBuilder<?> builder) { return Strings.toString(builder, false, false); }
Example #5
Source File: PhraseCountQueryBuilder.java From pyramid with Apache License 2.0 | 4 votes |
public static Optional<PhraseCountQueryBuilder> fromXContent(QueryParseContext parseContext) throws IOException { XContentParser parser = parseContext.parser(); String fieldName = null; Object value = null; float boost = AbstractQueryBuilder.DEFAULT_BOOST; String analyzer = null; int slop = MatchQuery.DEFAULT_PHRASE_SLOP; boolean inOrder = false; boolean weightedCount = false; String queryName = null; String currentFieldName = null; XContentParser.Token token; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { currentFieldName = parser.currentName(); } else if (parseContext.isDeprecatedSetting(currentFieldName)) { // skip } else if (token == XContentParser.Token.START_OBJECT) { throwParsingExceptionOnMultipleFields(NAME, parser.getTokenLocation(), fieldName, currentFieldName); fieldName = currentFieldName; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { currentFieldName = parser.currentName(); } else if (token.isValue()) { if (PhraseCountQueryBuilder.QUERY_FIELD.match(currentFieldName)) { value = parser.objectText(); } else if (ANALYZER_FIELD.match(currentFieldName)) { analyzer = parser.text(); } else if(IN_ORDER_FIELD.match(currentFieldName)) { inOrder = parser.booleanValue(); } else if (WEIGHTED_COUNT_FIELD.match(currentFieldName)) { weightedCount = parser.booleanValue(); } else if (BOOST_FIELD.match(currentFieldName)) { boost = parser.floatValue(); } else if (SLOP_FIELD.match(currentFieldName)) { slop = parser.intValue(); } else if (AbstractQueryBuilder.NAME_FIELD.match(currentFieldName)) { queryName = parser.text(); } else { throw new ParsingException(parser.getTokenLocation(), "[" + NAME + "] query does not support [" + currentFieldName + "]"); } } else { throw new ParsingException(parser.getTokenLocation(), "[" + NAME + "] unknown token [" + token + "] after [" + currentFieldName + "]"); } } } else { throwParsingExceptionOnMultipleFields(NAME, parser.getTokenLocation(), fieldName, parser.currentName()); fieldName = parser.currentName(); value = parser.objectText(); } } PhraseCountQueryBuilder phraseCountQuery = new PhraseCountQueryBuilder(fieldName, value); phraseCountQuery.analyzer(analyzer); phraseCountQuery.slop(slop); phraseCountQuery.inOrder(inOrder); phraseCountQuery.weightedCount(weightedCount); phraseCountQuery.queryName(queryName); phraseCountQuery.boost(boost); return Optional.of(phraseCountQuery); }