搜索引擎Indri系列:安装及使用

Indri是Lemur项目衍生的一个基于语言模型的新的搜索引擎,由University of Massachusetts和Carnegie Mellon University合作开发。

安装

  1. 下载。下载Indri并进入indri文件夹的顶层目录!!!
  2. 修改configure文件权限。确认其中的configure文件的权限是否是rwx(可读可写可执行)。一般来是rw,需要改成rwx。终端输入chmod 744 configure,再用ls -all查看是否修改为可执行。
  3. 执行configure文件。终端输入./configure --prefix= --enable-java --with-javahome=$JAVA_HOME
  4. 编译。终端输入make,回车即可。
  5. 安装。终端输入make install,回车即可。
  6. 设置环境变量。
    如果配置了--enable-java,公共的库文件存放在/lib/libindri_jni.so,java class文件存放在/share/indri/indri.jar。所以需要将/lib添加到环境变量LD_LIBRARY_PATH中,将/share/indri/indri.jar添加到CLASSPATH

至此,安装结束。完成上述步骤后,就会在中生成需要的所有东西了。

搜索引擎Indri系列:安装及使用_第1张图片
Screen Shot 2017-02-23 at 14.25.11.png

另外,安装过程中总会遇到各种问题:比如configure因为没有执行权限而无法执行,没有在命令行前面加入./而导致不能运行,使用make编译时没有找到zlib.h而导致编译失败。多上网搜一下就可以解决了。

建立索引 (Indexing)

  1. 进入IndriBuildIndex所在目录,默认对目录是/usr/local/bin
  2. 输入IndriBuildIndex 即可为语料建立索引。其中,index_parameter_file是参数文件,具体参数说明见参考文献1,也可以见这个系列的另一篇文章。
  3. 索引保存在index目录中,为一系列二进制文件。
搜索引擎Indri系列:安装及使用_第2张图片
Screen Shot 2017-02-23 at 14.35.25.png

注意:Indri在建立了检索之后,如果在重新执行该命令,就不会在重新对已经index过的文件再建立索引了。

检索 (Retrieval)

  1. 进入IndriRunQuery所在路径。如果安装时候没有设置安装路径,则默认路径是/usr/local/bin
  2. 输入 IndriRunQuery path-to-query_parameter_file > path-to-query_result_file
  3. 结果可以保存为TREC格式,格式为
    Q0 150 Q0 AP890101-0001 1 -4.83646 runName 150 Q0 AP890101-0015 2 -7.06236 runName

评价 (Evaluation)

TREC提供两种评价工具包,java实现的ireval.jar和c++实现的trec_eval

使用ireval.jar

  1. 首先,注意可能需要要修改ireval.jarmenifest文件才可以执行!!!
  2. 进入ireval.jar的目录,输入:java -jar /home/path-to-ireval/ireval.jar path-to-query_result_file path-to-qrel_file
  3. 使用trec_eval。进入trec_eval的目录,注意编译生成可执行文件trec_eval才可以!!! 输入:./trec_eval -q path-to-qrel_file path-to-query_result_file

参考文献

  1. https://sourceforge.net/p/lemur/wiki/IndriBuildIndex%20Parameters/
  2. https://sourceforge.net/p/lemur/wiki/Quick%20Start/
  3. http://www.cnblogs.com/supakito/archive/2012/11/26/2789381.html

你可能感兴趣的:(搜索引擎Indri系列:安装及使用)