Solr4.0搭建应用(四)

既然可以完成添加索引文档了,那么肯定要考虑到中文分词


将压缩包解压,mmseg4j-all-1.9.0-with-dic.jar该文件放置于solr应用的Web-inf\lib目录中去

<fieldType name="textComplex" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" />
      </analyzer>
    </fieldType>
<fieldType name="textMaxWord" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />
      </analyzer>
    </fieldType>
<fieldType name="textSimple" class="solr.TextField" >
      <analyzer>
        <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" />
      </analyzer>
    </fieldType>
 
将以上片段添加到schema.xml文件中去,这样我们添加了三个字段类型,这三种类型交给了分词器来处理。
也就是说我们在添加了文档包含这些字段的时候,就会进行分词索引。

我们变更comments字段为分词类型,如下图

 
	SolrInputDocument doc1 = new SolrInputDocument();
		doc1.addField("id", "dog1003", 1.0f);
		doc1.addField("name", "lucy", 1.0f);
		doc1.addField("price", 10);
		doc1.addField("comments", "出生在上海,原名杨颖,香港新一代潮流教主,拥有四分之一baby童年照(10张)德国血统。爷爷是德国人。");

		SolrInputDocument doc2 = new SolrInputDocument();
		doc2.addField("id", "dog1004", 1.0f);
		doc2.addField("name", "sim", 1.0f);
		doc2.addField("price", 15);
		doc2.addField("comments", "自从全家移居上海,父母一直为糊口奔驰,在小学一年级时就要自己放学,“当时太小,不知危险,反而最怕过马路。");

 我们修改之前写的addIndexDoc函数,重新添加。并且执行。

 


如果要进行查询,请记得将Tomcat server.xml 添加URIEncoding="UTF-8"

下面我们尝试一下查询关键字
http://localhost:8080/solr/core0/select?q=comments:*上海
请使用Chrome浏览器


 很好,我们看到了查询结果


那么我们如何看分词情况呢?


 

Solr为我们提供了强大的后台查看。

猜你喜欢

转载自myten.iteye.com/blog/1754496