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 ...
随机推荐
- 第一章:CDib类库的建立
VC++图像处理程序设计(第1版) 杨淑莹 编著 边奠英 主审 第一章 位图基础 Joanna-In-Hdu&Hust 手工打,印象更深刻 使用工具 VS2010 mfc 整本 ...
- 数据库之SQLite的介绍与使用20180705
一.SQLite 简介 1.介绍 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌 ...
- C++ 文本查询2.0(逻辑查询)
代码实例实现了继承和友元之间的关系,以及为了隐藏实际继承实现,而实现的接口类,代码偏乱,楼主- -自看的(提醒作用) TextQuery.h // // Created by 徐爱东 on 17/7/ ...
- bzoj 2120
2120: 数颜色 Time Limit: 6 Sec Memory Limit: 259 MBSubmit: 6430 Solved: 2562[Submit][Status][Discuss] ...
- tp 事务处理
tp的事务开启是非常简单的, 只需要M()->startTrans();//开启事务,M()可以是M('xxx') $m->rollback();//事务回滚 $m->commit( ...
- Python【关联接口的开发】
import flask,time,json,hashlib,redis print("==============被调函数部分================")def my_m ...
- Djang下载虚拟环境设置
下载安装 教程地址 https://docs.djangoproject.com/en/1.11/howto/windows/ 有一个步骤是创建虚拟环境 创建环境 mkvirtualenv env1 ...
- 关于dubbo的架构
dubbo是国内一个十分受欢迎的分布式rpc框架. 这篇博客是从dubbo官网出发,来说明下dubbo的技术架构.首先我们看下官网的架构图. 节点角色说明: Provider: 暴露服务的服务提供方. ...
- 科学计算三维可视化---TraitsUI(Group对象组织界面)
使用Group对象组织界面 将一组相关的Item对象组织在一起 from traitsui.api import Group from traits.api import HasTraits,Int, ...
- vue 项目代码初始化
1. <meta>补充 <head> <meta charset="utf-8"> <meta name="viewport&q ...