作者:旧梦半分_399 | 来源:互联网 | 2023-05-18 00:03
1IKAnalyzer分词器配置。1.1拷贝IKAnalyzer2012_u6\IKAnalyzer2012_u6.jar到C:\apache-tomcat-6.0.32\webapps\solr
1 IKAnalyzer分词器配置。
1.1拷贝IKAnalyzer2012_u6\IKAnalyzer2012_u6.jar到C:\apache-tomcat-6.0.32\webapps\
solr\WEB-INF\lib文件夹下面
1.2 在C:\apache-tomcat-6.0.32\webapps\solr\WEB-INF文件夹下面新建classes文件夹,拷贝IKAnalyzer2012_u6\IKAnalyzer.cfg.xml和IKAnalyzer2012_u6\stopword.dic到classes文件夹里面,修改IKAnalyzer.cfg.xml,新增
ext.dic;
在classes下面新建ext.dic文件,ext.dic里面是新增自己要添加的扩展词,stopword.dic里面是自己新增的停止词,有些词语分词没什么意义,所以我们就要把它过滤掉,例如a an and 啊 哦,修改完之后把编码保存为UTF-8格式,要不然不起效果,
1.3 修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\schema.xml文件,新增类型text_ik,title_search字段类型改成text_ik。
1.4 reindex solr数据之后,进行查询,可以查看分词效果。
1.5 搜索足球,得到这笔数据,分词成功。
2 mmseg4j分词器配置。
2.1把mmseg4j-1.8.5\dist下面的所有jar文件拷贝到C:\apache-tomcat-6.0.32\webapps\
solr\WEB-INF\lib文件夹下面
2.2 拷贝data到C:\solr\apache-solr-3.4.0\example\multicore中(与core文件平级),并改名为dic。
2.2.1 chars.dic,是单个字,和对应的频率,一行一对,字在全面,频率在后面,中间用空格分开。这个文件的信息是complex模式要用到的。在最后一条过虑规则中使用了频率信息。从1.5版后已经把它打包进jar里,一般不用关心它。不过可以在词库目录下放一个同名文件覆盖它。
2.2.2 units.dic,是单位的字,如:分、秒、年。这一文件是我在 mmseg4j 1.6后加入的,也是一行一条。主要是在数字后面的单位信息切分好,不与words.dic中的词有混淆。同时也打包进jar里,目前还是试行,如果不喜欢它,可以用空的文件放到词库目录下覆盖它。
2.2.3 words.dic,是核心的词库文件,一行一条,不需要其它任何数据(如词长)。1.0版是用rmmseg(ruby的mmseg实现) 的词库。1.5版后mmseg4j改用sogou词库,可以http://www.sogou.com/labs/dl/w.html找到下载。然后我把它去了频率等信息,并转为UTF-8编码。
2.2.4 words-my.dic,是自定义词库文件(其实是 mmseg4j可以从多个文件读取词)。这功能是1.6版加入的。它的格式与words.dic一样,只不过XXX部分是如您自己写的名字,如:源码包里的data/words-my.dic。注意:自定义词库文件名必需是"words"为前缀和".dic"为后缀。
2.2.5修改完之后把编码保存为UTF-8格式,要不然不起效果,
2.3 修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\schema.xml文件,新增类型text_mmseg4j,title_sort字段类型改成text_mmseg4j。
2.4 reindex solr数据之后,进行查询,可以查看分词效果。
2.5 搜索足球,得到这笔数据,分词成功。