moreLikeThisQueryBuilder.minDocFreq(query.getMinDocFreq());
.maxQueryTerms(maxQueryTerms) .minTermFreq(minTermFreq) .minDocFreq(minDocFreq) .maxDocFreq(maxDocFreq) .minWordLength(minWordLength)
@Override public <P extends ParaObject> List<P> findSimilar(String appid, String type, String filterKey, String[] fields, String liketext, Pager... pager) { if (StringUtils.isBlank(liketext)) { return Collections.emptyList(); } QueryBuilder qb; FilterBuilder fb; if (fields == null || fields.length == 0) { qb = QueryBuilders.moreLikeThisQuery().likeText(liketext).minDocFreq(1).minTermFreq(1); } else { qb = QueryBuilders.moreLikeThisQuery(fields).likeText(liketext).minDocFreq(1).minTermFreq(1); } if (!StringUtils.isBlank(filterKey)) { fb = FilterBuilders.notFilter(FilterBuilders.inFilter(Config._ID, filterKey)); qb = QueryBuilders.filteredQuery(qb, fb); } return searchQuery(appid, searchQueryRaw(appid, type, qb, pager)); }
protected QueryBuilder createSimilarToTextQuery(SimilarToTextQueryParameters similarTo) { List<String> allFields = new ArrayList<>(); String[] fields = similarTo.getFields(); for (String field : fields) { Collections.addAll(allFields, getPropertyNames(field)); } MoreLikeThisQueryBuilder q = QueryBuilders.moreLikeThisQuery(allFields.toArray(new String[allFields.size()])) .like(similarTo.getText()); if (similarTo.getMinTermFrequency() != null) { q.minTermFreq(similarTo.getMinTermFrequency()); } if (similarTo.getMaxQueryTerms() != null) { q.maxQueryTerms(similarTo.getMaxQueryTerms()); } if (similarTo.getMinDocFrequency() != null) { q.minDocFreq(similarTo.getMinDocFrequency()); } if (similarTo.getMaxDocFrequency() != null) { q.maxDocFreq(similarTo.getMaxDocFrequency()); } if (similarTo.getBoost() != null) { q.boost(similarTo.getBoost()); } return q; }
protected QueryBuilder createSimilarToTextQuery(SimilarToTextQueryParameters similarTo) { List<String> allFields = new ArrayList<>(); String[] fields = similarTo.getFields(); for (String field : fields) { Collections.addAll(allFields, getPropertyNames(field)); } MoreLikeThisQueryBuilder q = QueryBuilders.moreLikeThisQuery( allFields.toArray(new String[allFields.size()]), new String[]{similarTo.getText()}, null ); if (similarTo.getMinTermFrequency() != null) { q.minTermFreq(similarTo.getMinTermFrequency()); } if (similarTo.getMaxQueryTerms() != null) { q.maxQueryTerms(similarTo.getMaxQueryTerms()); } if (similarTo.getMinDocFrequency() != null) { q.minDocFreq(similarTo.getMinDocFrequency()); } if (similarTo.getMaxDocFrequency() != null) { q.maxDocFreq(similarTo.getMaxDocFrequency()); } if (similarTo.getBoost() != null) { q.boost(similarTo.getBoost()); } return q; }
protected QueryBuilder createSimilarToTextQuery(SimilarToTextQueryParameters similarTo) { List<String> allFields = new ArrayList<>(); String[] fields = similarTo.getFields(); for (String field : fields) { Collections.addAll(allFields, getPropertyNames(field)); } MoreLikeThisQueryBuilder q = QueryBuilders.moreLikeThisQuery( allFields.toArray(new String[allFields.size()]), new String[]{similarTo.getText()}, null ); if (similarTo.getMinTermFrequency() != null) { q.minTermFreq(similarTo.getMinTermFrequency()); } if (similarTo.getMaxQueryTerms() != null) { q.maxQueryTerms(similarTo.getMaxQueryTerms()); } if (similarTo.getMinDocFrequency() != null) { q.minDocFreq(similarTo.getMinDocFrequency()); } if (similarTo.getMaxDocFrequency() != null) { q.maxDocFreq(similarTo.getMaxDocFrequency()); } if (similarTo.getBoost() != null) { q.boost(similarTo.getBoost()); } return q; }
protected QueryBuilder createSimilarToTextQuery(SimilarToTextQueryParameters similarTo) { List<String> allFields = new ArrayList<>(); String[] fields = similarTo.getFields(); for (String field : fields) { Collections.addAll(allFields, getPropertyNames(field)); } MoreLikeThisQueryBuilder q = QueryBuilders.moreLikeThisQuery(allFields.toArray(new String[allFields.size()])) .likeText(similarTo.getText()); if (similarTo.getMinTermFrequency() != null) { q.minTermFreq(similarTo.getMinTermFrequency()); } if (similarTo.getMaxQueryTerms() != null) { q.maxQueryTerms(similarTo.getMaxQueryTerms()); } if (similarTo.getMinDocFrequency() != null) { q.minDocFreq(similarTo.getMinDocFrequency()); } if (similarTo.getMaxDocFrequency() != null) { q.maxDocFreq(similarTo.getMaxDocFrequency()); } if (similarTo.getBoost() != null) { q.boost(similarTo.getBoost()); } return q; }
.maxQueryTerms(maxQueryTerms) .minTermFreq(minTermFreq) .minDocFreq(minDocFreq) .maxDocFreq(maxDocFreq) .minWordLength(minWordLength)
moreLikeThisQueryBuilder.minDocFreq(query.getMinDocFreq());
.maxQueryTerms(maxQueryTerms) .minTermFreq(minTermFreq) .minDocFreq(minDocFreq) .maxDocFreq(maxDocFreq) .minWordLength(minWordLength)
q.minDocFreq(similarTo.getMinDocFrequency());
.maxQueryTerms(maxQueryTerms) .minTermFreq(minTermFreq) .minDocFreq(minDocFreq) .maxDocFreq(maxDocFreq) .minWordLength(minWordLength)
moreLikeThisBuilder.analyzer(hint.analyzer); moreLikeThisBuilder.minDocFreq(MORE_LIKE_THIS_MIN_DOC_FREQ); moreLikeThisBuilder.minTermFreq(MORE_LIKE_THIS_MIN_TERM_FREQ); moreLikeThisBuilder.maxQueryTerms(MORE_LIKE_THIS_MAX_QUERY_TERMS);