本文整理匯總了Java中org.elasticsearch.index.query.QueryBuilders.multiMatchQuery方法的典型用法代碼示例。如果您正苦於以下問題:Java QueryBuilders.multiMatchQuery方法的具體用法?Java QueryBuilders.multiMatchQuery怎麽用?Java QueryBuilders.multiMatchQuery使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.elasticsearch.index.query.QueryBuilders
的用法示例。
在下文中一共展示了QueryBuilders.multiMatchQuery方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: test
import org.elasticsearch.index.query.QueryBuilders; //導入方法依賴的package包/類
/**
* Here to establish QueryBuilder patterns
*/
void test() {
SearchSourceBuilder b;
BoolQueryBuilder qb = QueryBuilders.boolQuery();
QueryBuilder qbmm = QueryBuilders.multiMatchQuery("name", "fieldNames");
QueryBuilder qbm = QueryBuilders.matchQuery("name", "text");
QueryBuilder qbmp = QueryBuilders.matchPhraseQuery("name", "text");
QueryBuilder qb1 = QueryBuilders.termQuery(ITQCoreOntology.TUPLE_SUBJECT_PROPERTY, "");
QueryBuilder qb2 = QueryBuilders.termQuery(ITQCoreOntology.TUPLE_OBJECT_PROPERTY, "");
QueryBuilder qb3 = QueryBuilders.termQuery(ITQCoreOntology.INSTANCE_OF_PROPERTY_TYPE, "");
qb.must(qb3);
qb.should(qb1);
qb.should(qb2);
QueryBuilder partial = QueryBuilders.regexpQuery("name", "regexp");
QueryBuilder wildcard = QueryBuilders.wildcardQuery("name", "query");
}
示例2: testForClient
import org.elasticsearch.index.query.QueryBuilders; //導入方法依賴的package包/類
@Test
public void testForClient() throws Exception {
/**
* @see <a href='https://www.elastic.co/guide/en/elasticsearch/reference/5.6/query-dsl-multi-match-query.html'></a>
* MultiMatchQuery依賴於match query ,也就是其核心是基於MatchQuery構建的
*
*/
MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery("elasticsearch match query","title", "descrption");
multiMatchQueryBuilder.analyzer("standard");
multiMatchQueryBuilder.cutoffFrequency(0.001f);
multiMatchQueryBuilder.field("title",20);
multiMatchQueryBuilder.fuzziness(Fuzziness.TWO);
multiMatchQueryBuilder.maxExpansions(100);
multiMatchQueryBuilder.prefixLength(10);
multiMatchQueryBuilder.tieBreaker(20);
multiMatchQueryBuilder.type(MultiMatchQueryBuilder.Type.BEST_FIELDS);
multiMatchQueryBuilder.boost(20);
SearchResponse searchResponse = client.prepareSearch()
.setIndices("blogs")
.setTypes("blog")
.setQuery(multiMatchQueryBuilder)
.execute()
.actionGet();
}
示例3: goodSearch
import org.elasticsearch.index.query.QueryBuilders; //導入方法依賴的package包/類
/**
* http://blog.csdn.net/xiaohulunb/article/details/37877435
*/
public static <Goods> Pagination<Goods> goodSearch(GoodsSearchCondition condition, String sortField, boolean desc, int from, int size) {
String value = condition.getGoodsName();
if (Pinyin4jUtil.isContainChinese(condition.getGoodsName())) {
MultiMatchQueryBuilder multiMatchQueryBuilder = QueryBuilders.multiMatchQuery(value,
"categoryName1", "categoryName2", "categoryName3", "goodsName", "goodsSkuAttr");
multiMatchQueryBuilder.field("categoryName1", 0.8f);
multiMatchQueryBuilder.field("categoryName2", 1f);
multiMatchQueryBuilder.field("categoryName3", 1.5f);
multiMatchQueryBuilder.field("goodsName", 2f);
multiMatchQueryBuilder.field("goodsSkuAttr", 0.8f);
Pagination<Goods> goodsPagination =
search(multiMatchQueryBuilder, IndexType.GOODS, sortField, desc, from, size);
if (!CollectionUtils.isEmpty(goodsPagination.getDataList())) {
return goodsPagination;
}
}
return boolSearch(sortField, desc, from, size, StringUtils.lowerCase(value));
}