2008-04-02
初试MG4J
关键字: mg4j 全文搜索
按照网站提供的manual中的A Quick Tour of MG4J完成。
在mg4j的官方网站下载binary tarball和dependencies tarball,解压在本地硬盘。
以搜索mg4j的javadoc文档为例,
首先为要搜索的文件建立一个collection
因为搜索的是html文档,所以这里指定了HtmlDocumentFactory,并且直接写factory的名字不用加包名;指定的编码类型为utf-8;生成的collection文件名为javadoc.collection;D:\MG4J\mg4j-2.1.1-bin\mg4j-2.1.1\docs\*.html为要搜索的文件,如果还有可以直接在后面添加文件名。
运行后将生成javadoc.collection文件,这个文件就是一个包含要搜索的文件名的类型java实例序列化后的文件。
第二步,为要搜索的文件生成索引。
如果collection很大有数百万的文档,就要调整java的内存,以满足索引快速生成索引。
--keep-batches是为了查看生成索引时产出的临时文件,可以去掉。
--downcase是忽略大小写,搜索的时候STRING和string是一样的。
-s 10000设置了批量生成索引的大小。
-S javadoc.collection指定了collection文件为javadoc.collection。
javadoc为索引文件的文件名前缀。
生成的索引文件为javadoc-title.*和javadoc-text.*
第三步,启动查询器进行搜索
可以打开浏览器输入http://localhost:4242/Query进行搜索,Query类中内置了jetty可以提供web服务。也可以在命令行输入要搜索的词。
在运行上面的命令之前,一定要把dependencies tarball中的jar包加入到classpath中,才能正常运行。
我也试了在要搜索的html文档中加入了一些中文html文档,在搜索中文的时候还是有问题,搜索无法进行。
刚刚接触MG4J,还在阅读manual.....
在mg4j的官方网站下载binary tarball和dependencies tarball,解压在本地硬盘。
以搜索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.....
发表评论
- 浏览: 7734 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
Spring2结合DWR2的用户注 ...
javaprograms看看是不是你的dwr的包的版本不对呢
-- by lveyo -
Spring2结合DWR2的用户注 ...
哈哈,好啊
-- by kjj -
Spring2结合DWR2的用户注 ...
严重: Context initialization failed org.sp ...
-- by javaprograms -
innerHTML的性能问题
hax我看了你的分析文章,我也是用到的时候才发现老外的那篇文章的,也没想去研究为 ...
-- by lveyo -
innerHTML的性能问题
对于返回的 element 使用后是不是需要手动的delete掉? 否则会不会有 ...
-- by myreligion






评论排行榜