初试MG4J

按照网站提供的manual中的A Quick Tour of MG4J完成。

在mg4j的官方网站下载[url=http://mg4j.dsi.unimi.it/mg4j-2.1.1-bin.tar.gz]binary tarball[/url]和[url=http://mg4j.dsi.unimi.it/mg4j-deps.tar.gz]dependencies tarball[/url],解压在本地硬盘。

以搜索mg4j的javadoc文档为例,
首先为要搜索的文件建立一个collection


java it.unimi.dsi.mg4j.document.FileSetDocumentCollection -f HtmlDocumentFactory
-p encoding=UTF-8 javadoc.collection D:\MG4J\mg4j-2.1.1-bin\mg4j-2.1.1\docs\*.html


因为搜索的是html文档,所以这里指定了HtmlDocumentFactory,并且直接写factory的名字不用加包名;指定的编码类型为utf-8;生成的collection文件名为javadoc.collection;D:\MG4J\mg4j-2.1.1-bin\mg4j-2.1.1\docs\*.html为要搜索的文件,如果还有可以直接在后面添加文件名。

运行后将生成javadoc.collection文件,这个文件就是一个包含要搜索的文件名的类型java实例序列化后的文件。

第二步,为要搜索的文件生成索引。

java -Xmx256M it.unimi.dsi.mg4j.tool.IndexBuilder --keep-batches
--downcase -s 10000 -S javadoc.collection javadoc


如果collection很大有数百万的文档,就要调整java的内存,以满足索引快速生成索引。
--keep-batches是为了查看生成索引时产出的临时文件,可以去掉。
--downcase是忽略大小写,搜索的时候STRING和string是一样的。
-s 10000设置了批量生成索引的大小。
-S javadoc.collection指定了collection文件为javadoc.collection。
javadoc为索引文件的文件名前缀。

生成的索引文件为javadoc-title.*和javadoc-text.*

第三步,启动查询器进行搜索

java it.unimi.dsi.mg4j.query.Query -h -i FileSystemItem 
-c javadoc.collection javadoc-text javadoc-title


可以打开浏览器输入http://localhost:4242/Query进行搜索,Query类中内置了jetty可以提供web服务。也可以在命令行输入要搜索的词。

在运行上面的命令之前,一定要把dependencies tarball中的jar包加入到classpath中,才能正常运行。

我也试了在要搜索的html文档中加入了一些中文html文档,在搜索中文的时候还是有问题,搜索无法进行。

刚刚接触MG4J,还在阅读manual.....
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值