`

Solr新建集合节点配置

    博客分类:
  • solr
 
阅读更多

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>
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics