solr 创建索引失败

testzhang 发布于 2015/01/21 11:07
阅读 2K+
收藏 0

最近在研究solr搜索,现在环境配置(resin+solr+mysql)都配好了,能够查询出数据库里数据情况,但是不能建立索引,希望大侠能指教下。相关配置文件主要内容如下

 solrconfig.xml: <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">

      <lst name="defaults">
      <str name="config">data-config.xml</str>      
     </lst>

  </requestHandler>

data-config.xml:<dataSource name="songod" jndiName="java:comp/env/jdbc/chat_room/songod" type="JdbcDataSource"/>
<dataSource name="mvbox_space" jndiName="java:comp/env/jdbc/mvbox_space" type="JdbcDataSource"/>


    <document>
 <entity name="Artist" query="SELECT * FROM sod_artist ">
<field column="ArtistID" name="Artist_ID" />
<field column="Name" name="Artist_Name" />
<field column="NickName" name="Artist_NickName" />
<field column="SpaceID" name="Artist_SpaceID" />
<field column="Piclink1" name="Artist_Piclink1" />
<field column="Piclink2" name="Artist_Piclink2" />
<field column="PinYinInitial" name="Artist_PinYinInitial" />
<field column="IconNo" name="Artist_IconNo" />
 </entity>
    </document>
schema.xml:<field name="Artist_ID" type="int" indexed="true" stored="true" multiValued="false" required="true"/>
<field name="Artist_Name" type="string" indexed="true" stored="true"/>
<field name="Artist_NickName" type="string" indexed="true" stored="true"/>
<field name="Artist_SpaceID" type="long" indexed="true" stored="true"/>
<field name="Artist_Piclink1" type="string" indexed="false" stored="true"/>
<field name="Artist_Piclink2" type="string" indexed="false" stored="true"/>
<field name="Artist_PinYinInitial" type="string" indexed="true" stored="true"/>
<field name="Artist_IconNo" type="string" indexed="false" stored="true"/>

附上图片如下:

加载中
0
testzhang
testzhang
问题解决了,错误原因是schema.xml配置文件里有个filed的属性为required="true",而我数据库表里没这个字段,我是在logging中找到错误信息的。截图如下:
0
kt431128
kt431128
看你schema.xml里面field有个字段声明成必须的,但是你这个字段可能数据为空,在创建索引时会报错。
返回顶部
顶部