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. 解题:CF983A Finite or not

    题面 一个$b$进制最简分数是有限循环小数当且仅当其分母没有与$b$不同的质因子,小学数奥内容水过 #include<cstdio> #include<cstring> #in ...

  2. bzoj 2428: [HAOI2006]均分数据 && bzoj 3680 : 吊打XXX 模拟退火

    每次把元素随便扔随机一个初始解,退火时每次随机拿一个元素扔到随机一个集合里,当温度高时因为状态不稳定扔到那个元素和最小的里边. 如果新解优,更新ans. 把原式拆一下,就可以用int存了. bzoj ...

  3. JS--数组和字典

    一.JS数组 JavaScript中的数组类似于Python的列表 a = [11,22,33,44]  常见功能: obj.length 数组的大小 obj.push(ele) 尾部追加元素 obj ...

  4. Linux下安装Python3和django并配置mysql作为django默认服务器

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...

  5. RGB色彩对照表

    RGB色彩对照表   #FFFFFF   #FFFFF0   #FFFFE0   #FFFF00   #FFFAFA   #FFFAF0   #FFFACD   #FFF8DC   #FFF68F   ...

  6. CF&&CC百套计划3 Codeforces Round #204 (Div. 1) D. Jeff and Removing Periods

    http://codeforces.com/problemset/problem/351/D 题意: n个数的一个序列,m个操作 给出操作区间[l,r], 首先可以删除下标为等差数列且数值相等的一些数 ...

  7. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第七部分(Page 12)

    编写你的第一个 Django app,第七部分(Page 12)转载请注明链接地址 本节教程承接第六部分(page 11)的教程.我们继续开发 web-poll应用,并专注于自定义django的自动生 ...

  8. python学习笔记2-字符串操作

    一.字符串切片 #切片也能适合字符串 tittle='今 天 发 苹 果' for i t in enumerate(tittle): #enumerate可以同时循环下标和值 print('%s:% ...

  9. angularJS $resource

    $resource是一个更方便地与RESTful服务器API进行交互,可以方便地定义一个REST资源,而不必手动所有的声明CRUD方法的Service. 使用 1.要使用$resource首先要在HT ...

  10. 浏览器内核控制meta name="renderer" 说明文档

    https://blog.csdn.net/adc_god/article/details/51531263