介绍
Indri和Terrier都是开源的搜索引擎,其中Indri作为Lemur项目的一个重要部分,具有强大的查询接口,易建索引,可扩展,高效率等优点。可以在SourceForge Lemur Project Page中下载。Terrier也是IR领域非常有影响力的开源搜索引擎,Terrier是Glasgow大学用Java语言编写的,具有高效灵活及易于部署等特点,目前最新的版本为Terrier 4.0,可在Terrier官网下载。
无论Indri还是Terrier整个过程,需要先建立索引,然后根据自定义的query phrases(查询短语,当然也可以是句子),在已建立的索引上查询,并返回一个结果,类似如下(后面会具体讲解每一列的含义):
两个搜索引擎的使用关键在于它们的配置文件,接下来讲解如何配置
文本格式
1、Indri
Indri建索引
Indri查询
配置文件
Indri查询语言
1、Combining Beliefs
#combine,#weight, #not, #max, #or, #band(boolean and)
#wsum, #wand(weighted and)
#weight( 1 #1(Abbotsford Arts Centre) 0.5 #1(office) 0.5 #1(band))
2、Filter Operators
scoreif(#datebetween(10/05/2011 01/26/2012) #1(Abbotsford Arts Centre))
3、Numeric Field Operator
#less( F N ) matches numeric field extents of type Fif value < N
#greater( F N ), #between(F N_low N_high ) , #equals(F N )
4、Date Field Operator
#dateafter( D ),
#datebefore( D ),
#datebetween( D_low D_high ),
#dateequals( D )
查询结果文件:
其中:
第一列:表示第003query
第二列:不用理会
第三列:DOCNO
第四列:排名
第五列:具体排序值
第六列:query_id
2、Indri和Terrier注意点
indri:除了a-z,A-Z,0-9,空格,其余字符如#@¥%都是非法字符,会导致错误