private PhotonQueryBuilder(String query, String language) { defaultMatchQueryBuilder = QueryBuilders.matchQuery("collector.default", query).fuzziness(Fuzziness.ZERO).prefixLength(2).analyzer("search_ngram").minimumShouldMatch("100%"); languageMatchQueryBuilder = QueryBuilders.matchQuery(String.format("collector.%s.ngrams", language), query).fuzziness(Fuzziness.ZERO).prefixLength(2) .analyzer("search_ngram").minimumShouldMatch("100%"); // @formatter:off m_query4QueryBuilder = QueryBuilders.boolQuery() .must(QueryBuilders.boolQuery().should(defaultMatchQueryBuilder).should(languageMatchQueryBuilder) .minimumShouldMatch("1")) .should(QueryBuilders.matchQuery(String.format("name.%s.raw", language), query).boost(200) .analyzer("search_raw")) .should(QueryBuilders.matchQuery(String.format("collector.%s.raw", language), query).boost(100) .analyzer("search_raw")); // @formatter:on // this is former general-score, now inline String strCode = "double score = 1 + doc['importance'].value * 100; score"; ScriptScoreFunctionBuilder functionBuilder4QueryBuilder = ScoreFunctionBuilders.scriptFunction(new Script(ScriptType.INLINE, "painless", strCode, new HashMap<String, Object>())); m_alFilterFunction4QueryBuilder.add(new FilterFunctionBuilder(functionBuilder4QueryBuilder)); m_finalQueryWithoutTagFilterBuilder = new FunctionScoreQueryBuilder(m_query4QueryBuilder, m_alFilterFunction4QueryBuilder.toArray(new FilterFunctionBuilder[0])) .boostMode(CombineFunction.MULTIPLY).scoreMode(ScoreMode.MULTIPLY); // @formatter:off m_queryBuilderForTopLevelFilter = QueryBuilders.boolQuery() .should(QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("housenumber"))) .should(QueryBuilders.matchQuery("housenumber", query).analyzer("standard")) .should(QueryBuilders.existsQuery(String.format("name.%s.raw", language))); // @formatter:on state = State.PLAIN; }
matchQuery.prefixLength(Integer.valueOf(val));
matchQuery.prefixLength(prefixLength); matchQuery.fuzzyTranspositions(fuzzyTranspositions); matchQuery.maxExpansions(maxExpansion);
matchQuery.prefixLength(prefixLength); matchQuery.fuzzyTranspositions(fuzzyTranspositions); matchQuery.maxExpansions(maxExpansion);
matchQuery.prefixLength(prefixLength); matchQuery.fuzzyTranspositions(fuzzyTranspositions); matchQuery.maxExpansions(maxExpansion);
matchQuery.prefixLength(prefixLength); matchQuery.fuzzyTranspositions(fuzzyTranspositions); matchQuery.maxExpansions(maxExpansion);