lucene-SpanNotQuery和SpanOrQuery交迭与全局跨度
1、在匹配结果中排除相互交迭的跨度
SpanNotQuery构造函数的第一个参数表示要包含的跨度对象,第二个参数表示要排除的跨度对象。
1)
SpanNearQuery quick_fox=new SpanNearQuery(new SpanQuery[]{quick,fox},1,true);
dumpSpans查询时输出
the <quick brown fox> jumps over the lazy dog (0.18461232)
the <quick red fox> jumps over the sleep cat (0.18461232)
2)
SpanNotQuery quick_fox_dog=new SpanNotQuery(quick_fox,dog);
dumpSpans查询时输出
the <quick brown fox> jumps over the lazy dog (0.18461232)
the <quick red fox> jumps over the sleep cat (0.18461232)
3)只匹配了第一个文档,因为第二个文档包括red
SpanNotQuery no_quick_red_fox=new SpanNotQuery(quick_fox,red);
dumpSpans查询时输出
the <quick red fox> jumps over the sleep cat (0.18461232)
2、SpanOrQuery,在构造函数中对一个SpanQuery对象的集合进行封装
1)
SpanNearQuery qf_near_ld=new SpanNearQuery(new SpanQuery[]{quick_fox,lazy_dog},3,true);
dumpSpans查询时输出
the <quick brown fox jumps over the lazy dog> (0.38461232)
2)
SpanNearQuery qf_near_sc=new SpanNearQuery(new SpanQuery[]{quick_fox,sleep_cat},3,true);
dumpSpans查询时输出
the <quick red fox jumps over the sleep cat> (0.38461232)
3)查询这样一些文档,这些文档或者包括"quick fox" near "lazy dog"或者包括"quick fox" near "sleep cat"
dumpSpans查询时输出
the <quick brown fox jumps over the lazy dog> (0.38461232)
the <quick red fox jumps over the sleep cat> (0.38461232)
lucene-SpanNotQuery和SpanOrQuery交迭与全局跨度的更多相关文章
- lucene 查询 (转载)
原网址:http://hi.baidu.com/lszhuhaichao/blog/item/ccffc7cb858f1514bf09e66f.html Lucene3.0之查询处理(1):原理201 ...
- lucene的多种搜索2-SpanQuery
SpanQuery按照词在文章中的距离或者查询几个相邻词的查询 SpanQuery包括以下几种: SpanTermQuery:词距查询的基础,结果和TermQuery相似,只不过是增加了查询结果中单词 ...
- Lucene 更新、删除、分页操作以及IndexWriter优化
更新操作如下: 注意:通过lukeall-1.0.0.jar 查看软件,我们可以看到,更新其实是先删除在插入, 前面我们知道索引库中有两部分的内容组成,一个是索引文件,另一个是目录文件, 目前我们更新 ...
- Query DSL for elasticsearch Query
Query DSL Query DSL (资料来自: http://www.elasticsearch.cn/guide/reference/query-dsl/) http://elasticsea ...
- Apache Lucene全局搜索引擎入门教程
Lucene简介 Lucent:Apache软件基金会Jakarta项目组的一个子项目,Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻.在Java开发环境里Lucene是一个成熟 ...
- 使用Lucene.Net实现全文检索
使用Lucene.Net实现全文检索 目录 一 Lucene.Net概述 二 分词 三 索引 四 搜索 五 实践中的问题 一 Lucene.Net概述 Lucene.Net是一个C#开发的开源全文索引 ...
- Lucene中的 Query对象
"Lucene中的 Query对象": 检 索前,需要对检索字符串进行分析,这是由queryparser来完成的.为了保证查询的正确性,最好用创建索引文件时同样的分析器. quer ...
- Elasticsearch Span Query跨度查询
ES基于Lucene开发,因此也继承了Lucene的一些多样化的查询,比如本篇说的Span Query跨度查询,就是基于Lucene中的SpanTermQuery以及其他的Query封装出的DSL,接 ...
- Lucene多字段搜索
最近在学习Lucene的过程中遇到了需要多域搜索并排序的问题,在网上找了找,资料不是很多,现在都列出来,又需要的可以自己认真看看,都是从其他网站粘贴过来的,所以比较乱,感谢原创的作者们! 使用 ...
随机推荐
- Arch声卡配置
ALSA Utilities Install the alsa-utils package. This contains (among other utilities) the alsamixer a ...
- 获取android源码中遇到的问题
最近项目相当紧张,回家之后还需要继续研究android源码. 从网上找了一些资料,下载过程中还是遇到了很多问题.这里罗列一下: 1. 下载Repo过程中提示证书问题: curl https://dl- ...
- php笔记(一)面向对象编程
<?php //定义一个类 class Car { var $name = '汽车'; function getName() { return $this->name; } } //实例化 ...
- 配置php开发环境
安装apache 1 loadModule 加载php的模块2 addType 告诉apache凡是php结尾的文件都交给php模块执行3 PHPIniDir 告诉apache php.ini的文件在 ...
- java 邮件
使用java语言实现邮件的简单的发送和接受. 说明:使用Java应用程序发送E-mail比较简单,在使用下列程序之前,你需要将mail.jar和activation.jar 添加到你的CLASSP ...
- HDU 5898 odd-even number(2016沈阳网络选拔赛 数位DP)
定义DP[pos][pre][odd][even],pos代表当前数位,pre代表前一位的数值,odd代表到前一位连续的奇数个数,even代表到前一位连续偶数个数. odd和even肯定至少有一个为0 ...
- sql 判断表是否存在,判断列是否存在
判断表是否存在: 语法: SELECT * FROM dbo.SysObjects where id = object_id(N'表名') 例子: SELECT * FROM dbo.SysObjec ...
- apt-get 总结
转自: apt-get 总结 1.apt-get install <package_name> install a new package. 2.apt-get build-dep < ...
- angular 搜索记录保留
#方法1: 点击后退到home后,再点击搜索, locationChangeStart 事件会多次触发. # $scope.keyword = $location.search().search # ...
- C++ primer 练习 12.7
重做上一题,这次使用shared_ptr 而不是内置指针.上一题题目为:(编写函数,返回一个动态分配的int的vector.将此vector传递给另一个函数,这个函数读取标准输入,将读入的值保存在ve ...