1:
此处设置新建的节点为: coll_test
复制 solr-4.9.0\example\solr\collection1 节点到 新建的文件夹: coll_test
2:
修改文件 coll_test/core.properties :
将name=collection1
改为:
name=coll_test
3:
修改文件 coll_test/conf/solrconfig.xml:
注释掉:
<lib dir="../../../contrib/extraction/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="../../../contrib/clustering/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="../../../contrib/langid/lib/" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="../../../contrib/velocity/lib" regex=".*\.jar" /> <lib dir="../../../dist/" regex="solr-velocity-\d.*\.jar" />
4:
修改文件 coll_test/conf/schema.xml :
4.1: 增加<field节点:
删除所有除了:
<field name="_version_" type="long" indexed="true" stored="true"/> <field name="_root_" type="string" indexed="true" stored="false"/>
的 <field 节点:
然后增加项目所需的<field 节点,例如:
<field name="cardid" type="tlong" indexed="true" stored="true"/> <field name="userid" type="tlong" indexed="true" stored="true"/> <field name="cardname" type="string" indexed="true" stored="true"/> <field name="name" type="string" indexed="true" stored="true"/> <field name="nickname" type="string" indexed="true" stored="true"/> <field name="sex" type="tint" indexed="true" stored="true"/> <field name="education" type="tint" indexed="true" stored="true"/> <field name="birthday" type="tdate" indexed="true" stored="true"/> <field name="headimage" type="string" indexed="true" stored="true"/> <field name="introduction" type="string" indexed="true" stored="true"/> <field name="residence" type="string" indexed="true" stored="true"/> <field name="school" type="string" indexed="true" stored="true"/> <field name="maritalstatus" type="tint" indexed="true" stored="true"/> <field name="cardtype" type="tint" indexed="true" stored="true"/> <field name="authway" type="tint" indexed="true" stored="true"/> <field name="ord" type="tint" indexed="true" stored="true"/> <field name="longilatitude" type="string" indexed="true" stored="true"/> <field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
4.2:修改唯一性键:
<uniqueKey>id</uniqueKey>
为项目所需的唯一性ID,如:
<uniqueKey>cardid</uniqueKey>
4.3:增加<copyField:
删除原有素有的<copyField节点,增加项目所需的<copyField节点:
<copyField source="cardname" dest="text"/> <copyField source="name" dest="text"/> <copyField source="nickname" dest="text"/> <copyField source="sex" dest="text"/> <copyField source="education" dest="text"/> <copyField source="birthday" dest="text"/> <copyField source="headimage" dest="text"/> <copyField source="introduction" dest="text"/> <copyField source="residence" dest="text"/> <copyField source="school" dest="text"/> <copyField source="maritalstatus" dest="text"/> <copyField source="cardtype" dest="text"/> <copyField source="authway" dest="text"/> <copyField source="ord" dest="text"/> <copyField source="longilatitude" dest="text"/>
4.3:增加IK中文分词类型:(具体详见 另一篇博客)
<!-- 中文分词IKAnalyzer --> <fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>
5:修改coll_test/conf/elevate.xml文件,将coll_test/conf/elevate.xml文件的elevate节点中的内容全部删除,最终此文件内容为:
<?xml version="1.0" encoding="UTF-8" ?> <elevate> </elevate>
6:关于错误:
6.1:关于 拷贝字段到名字不是 text的字段,如text_custom,如果是这样,则须将solr的默认搜索字段名称更改,具体在
coll_test/conf/solr.config文件中的:
<str name="df">text</str>改为自己定义的默认搜索字段,如text_custom
6.2:错误:Error initializing QueryElevationComponent
解决办法:
将coll_test/conf/elevate.xml文件的elevate节点中的内容全部删除,最终此文件内容为:
<?xml version="1.0" encoding="UTF-8" ?> <elevate> </elevate>