|
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>
|
|
|