Elasticsearch 邻近查询示例
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
{
"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 邻近查询示例的更多相关文章
- elasticsearch简单查询
elasticsearch简单查询示例: { "from": "0", //分页,从第一页开始 "size": "10" ...
- Elasticsearch .Net Client NEST 多条件查询示例
Elasticsearch .Net Client NEST 多条件查询示例 /// <summary> /// 多条件搜索例子 /// </summary> public c ...
- elasticsearch 分页查询实现方案——Top K+归并排序
elasticsearch 分页查询实现方案 1. from+size 实现分页 from表示从第几行开始,size表示查询多少条文档.from默认为0,size默认为10,注意:size的大小不能超 ...
- elasticsearch基础查询
Es基础数据类型 string 字符串类型,es中最常用的类型,官方文档 比较重要的参数: index分析 analyzed(默认) not_analyzed no store存储 true 独立存储 ...
- ElasticSearch 常用查询语句
为了演示不同类型的 ElasticSearch 的查询,我们将使用书文档信息的集合(有以下字段:title(标题), authors(作者), summary(摘要), publish_date(发布 ...
- ElasticSearch DSL 查询
公号:码农充电站pro 主页:https://codeshellme.github.io DSL(Domain Specific Language)查询也叫做 Request Body 查询,它比 U ...
- ElasticSearch URI 查询
公号:码农充电站pro 主页:https://codeshellme.github.io 1,URI 查询格式 URI 查询的一般格式如下: GET /index_name/_search?q=key ...
- 【转】elasticsearch的查询器query与过滤器filter的区别
很多刚学elasticsearch的人对于查询方面很是苦恼,说实话es的查询语法真心不简单- 当然你如果入门之后,会发现elasticsearch的rest api设计是多么有意思. 说正题,ela ...
- NHibernate查询示例合集
基本查询 复杂查询示例 /// <summary> /// 获取自定义表单数据中属于部门的部分 /// </summary> /// <param name=&quo ...
随机推荐
- 【hdu4285】 circuits
http://acm.hdu.edu.cn/showproblem.php?pid=4285 (题目链接) 题意 求不不能嵌套的回路个数为K的路径方案数. Solution 插头dp,时限卡得太紧了, ...
- 关于未来IT职业教育的思考
回首过去20年的IT教育,从基本的办公软件(应用软件)到基础设施培训(网络.ps.3d等)再到软件开发(java等),可以说是见证了中国计算机发展的整个阶段,随着时代的变迁,计算机从最初的普及阶段到深 ...
- 【bzoj4231】回忆树
题解: 树上的串匹配,模式串的总长$|S|$,令$\overline {S} $为$S$的反串: 对$S$和$\overline {S} $分别建自动机 $u -> v$可以分成三个部分去统计 ...
- BZOJ 4802 欧拉函数
4802: 欧拉函数 Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Outp ...
- Java入门:修改IDE主题颜色
1.去 http://eclipsecolorthemes.org/?view=theme&id=1下载你需要的颜色,根据id不同,配色方案不一样. 2.下载页面右侧的“Eclipse Pre ...
- a标签--超链接
一.链接到其他网站 <body> <a href="https://www.baidu.com" target="_blank">百度& ...
- NATS_02:NATS消息通信模型
消息通信模型 NATS的消息通信是这样的:应用程序的数据被编码为一条消息,并通过发布者发送出去:订阅者接收到消息,进行解码,再处理.订阅者处理NATS消息可以是同步的或异步的. * 异步处理 异步处 ...
- java 锁的分类
java中为了解决多线程并发带来的线程安全问题,引入了锁机制. 一.公平锁和非公平锁 1.公平锁:按照申请锁的顺序(FIFO队列)来获取锁. 2.非公平锁:所有线程都会竞争,获取的锁的顺序和申请顺序无 ...
- 解决错误:Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
在使用yum install的时候,偶尔会碰见这样的错误:Couldn’t open file /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 这是因为在你的 /etc/yum ...
- Mongodb 笔记04 特殊索引和集合、聚合、应用程序设计
特殊索引和集合 1. 固定集合:固定集合需要事先创建好看,而且它的大小是固定的.当固定集合被占满时,如果再插入新文档,固定集合会自动将最老的文档从集合中删除. 2. 创建固定集合:db.createC ...