Elasticsearch 邻近查询示例(全切分分词)
JAVA API方式:
 SpanNearQueryBuilder span = QueryBuilders.spanNearQuery();
span.clause(QueryBuilders.spanTermQuery("Text", "学"));
span.clause(QueryBuilders.spanTermQuery("Text", "联"));
span.inOrder(true).slop(1);
SearchRequestBuilder rs = client.prepareSearch("weiboall")
.setQuery(span).setFrom(0).setSize(20);
SearchResponse response = rs.get();

ES 邻近查询JavaAPI

REST方式(JSON):
 {
"from": 0,
"size": 20,
"query": {
"span_near": {
"clauses": [
{
"span_term": {
"Text": {
"value": "在"
}
}
},
{
"span_term": {
"Text": {
"value": "讨"
}
}
}
],
"slop": 0,
"in_order": true
}
}
}

JSON邻近查询

Elasticsearch 邻近查询示例(IK分词)

这种方式利用前后缀组合查询,可以识别查询中的未登陆词、新词等

java API方式:

 MultiTermQueryBuilder mqb1 = new WildcardQueryBuilder("Text", "*学");
SpanQueryBuilder sb1= new SpanMultiTermQueryBuilder(mqb1);
MultiTermQueryBuilder mqb2 = new WildcardQueryBuilder("Text", "联*");
SpanQueryBuilder sb2= new SpanMultiTermQueryBuilder(mqb2);
SpanNearQueryBuilder spanb= new SpanNearQueryBuilder();
spanb.clause(sb1);
spanb.clause(sb2);
spanb.inOrder(true);
spanb.slop();
SearchRequestBuilder rs = client.prepareSearch("weiboall")
.setQuery(spanb).setFrom().setSize();
System.out.println(rs.toString());
SearchResponse response = rs.get();

Rest(json)方式:

 {
"from" : 0,
"size" : 20,
"query" : {
"span_near" : {
"clauses" : [ {
"span_multi" : {
"match" : {
"wildcard" : {
"Text" : {
"wildcard" : "*学"
}
}
}
}
}, {
"span_multi" : {
"match" : {
"wildcard" : {
"Text" : {
"wildcard" : "联*"
}
}
}
}
} ],
"slop" : 0,
"in_order" : true
}
}
}

Elasticsearch 邻近查询示例的更多相关文章

  1. elasticsearch简单查询

    elasticsearch简单查询示例: { "from": "0", //分页,从第一页开始 "size": "10" ...

  2. Elasticsearch .Net Client NEST 多条件查询示例

    Elasticsearch .Net Client NEST 多条件查询示例 /// <summary> /// 多条件搜索例子 /// </summary> public c ...

  3. elasticsearch 分页查询实现方案——Top K+归并排序

    elasticsearch 分页查询实现方案 1. from+size 实现分页 from表示从第几行开始,size表示查询多少条文档.from默认为0,size默认为10,注意:size的大小不能超 ...

  4. elasticsearch基础查询

    Es基础数据类型 string 字符串类型,es中最常用的类型,官方文档 比较重要的参数: index分析 analyzed(默认) not_analyzed no store存储 true 独立存储 ...

  5. ElasticSearch 常用查询语句

    为了演示不同类型的 ElasticSearch 的查询,我们将使用书文档信息的集合(有以下字段:title(标题), authors(作者), summary(摘要), publish_date(发布 ...

  6. ElasticSearch DSL 查询

    公号:码农充电站pro 主页:https://codeshellme.github.io DSL(Domain Specific Language)查询也叫做 Request Body 查询,它比 U ...

  7. ElasticSearch URI 查询

    公号:码农充电站pro 主页:https://codeshellme.github.io 1,URI 查询格式 URI 查询的一般格式如下: GET /index_name/_search?q=key ...

  8. 【转】elasticsearch的查询器query与过滤器filter的区别

    很多刚学elasticsearch的人对于查询方面很是苦恼,说实话es的查询语法真心不简单-  当然你如果入门之后,会发现elasticsearch的rest api设计是多么有意思. 说正题,ela ...

  9. NHibernate查询示例合集

    基本查询   复杂查询示例 /// <summary> /// 获取自定义表单数据中属于部门的部分 /// </summary> /// <param name=&quo ...

随机推荐

  1. R语言颜色综合运用与色彩方案共享

    R语言颜色综合运用与色彩方案共享 小魔方 EasyCharts 2016-11-21 今天这篇主要讲解R语言颜色综合运用,主要跟大家介绍如何提取那些专业色彩包中的颜色搭配用于在基础绘图系统和高级绘图系 ...

  2. python的匿名函数 lambda的使用方法详解以及使用案例

    1.匿名函数是用lambda这个关键字定义 lambda  x:x+1   第一个x代表形参,x+1相当于函数的返回值 #lambda x:x+1 第一个x代表形参,x+1相当于函数的返回值 def ...

  3. Ansible9:条件语句

    目录 一.when 1.基本用法 2.在when中使用jinja2的语法 3.使用bool值作为when的判断条件 4.在when中使用defined关键字 5.when在循环语句中的使用方法 6.在 ...

  4. Java多态性的“飘渺之旅”

    原文出处:斯武丶风晴 摘要: 如何从Java多态性进行飘渺之旅呢? 我们用例子来旅行. 朵星人A:人类,是一个很奇妙的物种. 朵星人B:他们好像分为两种,嗯 先生,以及美女? 朵星人C:对,更年轻的有 ...

  5. 1 Kafka概念和架构

    第一讲:概念.ZK的存储结构.Producer.Consumers流程.Kafka Broker的启动(额外) 从客户端使用角度来讲. 第二讲:从设计原理角度来讲. Kafka属于Apache组织,是 ...

  6. mongo ttl索引

    db.log_events.find()                                     # 查找log_events里的所有数据   db.log_events.create ...

  7. Redis学习九:Redis的发布订阅

    发布订阅功能,redis也具备,但是要知道的是redis主要功能还是分布式的缓存功能,因此这种订阅发布功能很少用,有专门的kafka  activemq 等消息中间件来完成,因此本文只是简单介绍,了解 ...

  8. 把数组存入到cookie中

    $arr = array(1,2,3); // 把数组序列化之后,存入到cookie中 $arr_str = serialize($arr); // 序列化数组 setcookie('a',$arr_ ...

  9. [译]Quartz.NET 框架 教程(中文版)2.2.x 之第四课 更多关于Triggers

    第四课 更多关于Triggers 跟作业任务类似,触发器也非常容易使用,但是在你能够充分掌握Quartz之前,你需要知道并理解许多触发器的客户化的参数.前面已经提到过,有许多不同类型的触发器供你选择, ...

  10. Callable,Future,FutureTask

    1.概念定义 2.实现例子 3.总结   1.概念定义   1.Callable Callable是一个接口,效果类似Runnable接口.实现该接口,然后,耗时操作在call()方法中执行.与Run ...