[Nutch]Solr配置自定义的中文分词器mmseg4j

来源:互联网 发布:js json对象的长度 编辑:程序博客网 时间:2024/05/04 04:28

上一篇博文我们有使用LUKE工具来查看使用solrindex产生的索引的具体内容,从里面可以看到,默认的分词很乱,所以这篇博文我们就使用mmseg4j中文分词器。

1. 下载mmseg4j

点击mmseg4j-1.8.5 .zip,进入下载页面。

2. 解压mmseg4j-1.8.5.zip

将下载的mmseg4j-1.8.5.zip文件放到workspace目录下面,在workspace目录使用如下命令解压到mmseg4j-1.8.5目录:

unzip mmseg4j-1.8.5\ .zip -d mmseg4j-1.8.5

解压过程:
这里写图片描述

可以从解压过程看到有一个带有词典的分词:

mmseg4j-all-1.8.5-with-dic.jar

3. 将分词器复制到Solr中

在Solr目录下新建一个lib目录,使用命令:

mkdir apache-solr-3.6.2/example/solr/lib

如下:
这里写图片描述

将mmseg4j-1.8.5目录下面的mmseg4j-all-1.8.5-with-dic.jar复制到Solr的lib目录下面,使用如下命令:

cp mmseg4j-1.8.5/mmseg4j-all-1.8.5-with-dic.jar apache-solr-3.6.2/example/solr/lib/

结果如下:
这里写图片描述

4. 应用中文分词器

修改schema.xml文件,将文件中的

<tokenizer class="solr.WhitespaceTokenizerFactory" />

<tokenizer class="solr.StandardTokenizerFactory" />

替换为:

<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" />

5. 启动Solr

使用如下命令:

java -jar start.jar &

6. 建立Solr索引

切换到Nutch的local目录,使用如下命令:

bin/nutch solrindex http://192.168.238.128:8983/solr data/crawldb -linkdb data/linkdb -dir data/segments

如下:
这里写图片描述
这里写图片描述

7. 查看分词

再次用LUKE工具来查看,如下:
这里写图片描述

可以看到使用mmseg4j中文分词器得到的分词个数为:33202

而之前使用默认的分词器得到的个数为:80468
这里写图片描述
默认的分词列表如下:
这里写图片描述

可以看到,使用mmseg4j的中文分词器得到的分词和默认的情况得到的分词有很大的差别,也更加合理。

1 0