标签:
solr的增删改查,啥都不说,直接代码
package com.johnny.lucene06.solr;
配置说明:
关于schema.xml的配置说明
(1)如果需要添加mmseg4j对solr的中文分词支持,添加:
<!--配置mmsg4j-->
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
</analyzer>
</fieldtype>
<fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" />
</analyzer>
</fieldtype>
<fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="n:/custom/path/to/my_dic" />
</analyzer>
</fieldtype>
(2)添加自己的查询字段:
<field name="my_title" type="string" indexed="true" stored="true"/>
<field name="my_content" type="string" indexed="true" stored="true"/>
其中,name:表示要添加的查询字段
type:字段的类型,以及在schema.xml中有定义
indexed:是否索引
stored:是否存储
(3)如果需要同时在title和content中进行查询,可以添加如下字段:
<field name="title_content" type="textComplex" indexed="true" stored="false" multiValued="true"/>
<copyField source="my_title" dest="title_content"/>
<copyField source="my_content" dest="title_content"/>
其中:title_content为新定义的查询字段,如果需要同时在title和content中进行查询,那么就使用这个查询字段
(4)设置默认查询字段,这样的话就不需要在Query中进行查询时使用my_title:hello这样的格式
将solrconfig.xml中得 <str name="df">text</str>
修改为: <str name="df">title_content</str>
这样,如果需要查询内容在标题字段或内容字段出现的结果的时候,只需要在查询条件中填写hello就可以了
标签:
原文地址:http://blog.csdn.net/seven_zhao/article/details/42871645