首页 > Web开发 > 详细

lucene-SpanNotQuery和SpanOrQuery交迭与全局跨度

时间:2015-12-08 22:00:00      阅读:128      评论:0      收藏:0      [点我收藏+]

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交迭与全局跨度

原文:http://www.cnblogs.com/1130136248wlxk/p/5031089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!