要建立自己的全文检索,一般都需要从数据库导入数据,在原来配置的基础上,增加导入的功能
1、D:\apache-tomcat-7.0.27\solr\conf\solrconfig.xml中增加
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
2、增加D:\apache-tomcat-7.0.27\solr\conf\data-config.xml,内容为数据库的连接信息
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
<dataSource type="JdbcDataSource" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@10.74.8.206:1521:orcl"
user="uname"
password="pwd"/>
<document name="zpxx">
<entity name="zpxx" query="select * from vw_zp_fullindex" transformer="ClobTransformer">
<field column="GANG_WEI_BH" name="GANG_WEI_BH" />
<field column="GANG_WEI_MC" name="GANG_WEI_MC" />
<field column="GANG_WEI_MS" name="GANG_WEI_MS" clob="true"/>
<field column="GONG_ZU_DD_ZW" name="GONG_ZU_DD_ZW" />
<field column="QI_TA" name="QI_TA" />
<field column="YUE_XIN" name="YUE_XIN" />
<field column="ZHI_CHENG" name="ZHI_CHENG" />
<field column="GANGWEILB" name="GANGWEILB" />
<field column="COMPID" name="COMPID" />
<field column="DAN_WEI_MC" name="DAN_WEI_MC" />
<field column="DANWEIXZ" name="DANWEIXZ" />
<field column="JING_YING_FW" name="JING_YING_FW" />
<field column="DAN_WEI_JJ" name="DAN_WEI_JJ" clob="true"/>
<field column="DAN_WEI_DZ" name="DAN_WEI_DZ" />
<field column="HANGYELB" name="HANGYELB" />
</entity>
</document>
</dataConfig>
因为有Clob字段,所以需要加上ClobTransformer
3、D:\apache-tomcat-7.0.27\solr\conf\schema.xml文件中增加
<!--自定义Field开始 -->
<field name="GANG_WEI_BH" type="string" indexed="true" stored="true" required="true"/>
<field name="GANG_WEI_MC" type="text" indexed="true" stored="true" />
<field name="GANG_WEI_MS" type="text" indexed="true" stored="true" />
<field name="GONG_ZU_DD_ZW" type="text" indexed="true" stored="true" />
<field name="QI_TA" type="text" indexed="true" stored="true" />
<field name="YUE_XIN" type="text" indexed="true" stored="true" />
<field name="ZHI_CHENG" type="text" indexed="true" stored="true" />
<field name="GANGWEILB" type="text" indexed="true" stored="true" />
<field name="COMPID" type="string" indexed="true" stored="true" />
<field name="DAN_WEI_MC" type="text" indexed="true" stored="true" />
<field name="DANWEIXZ" type="text" indexed="true" stored="true" />
<field name="JING_YING_FW" type="text" indexed="true" stored="true" />
<field name="DAN_WEI_JJ" type="text" indexed="true" stored="true" />
<field name="DAN_WEI_DZ" type="text" indexed="true" stored="true" />
<field name="HANGYELB" type="text" indexed="true" stored="true" />
<!--自定义Field结束 -->
<copyField source="DAN_WEI_JJ" dest="text"/><!--clob字段 -->
<copyField source="GANG_WEI_MS" dest="text"/>
把原有文件中id字段的required="true"去掉,否则导入的时候,会验证id字段,其实自己在做的时候,如果其他字段没有的话,可以删除
3、还要把oracle的jdbc驱动放到D:\apache-tomcat-7.0.27\webapps\solr\WEB-INF\lib
4、http://localhost:8080/solr/dataimport?command=full-import即可以进行导入数据
5、查询则通过http://localhost:8080/solr/admin/进行查询,输入查询字符串(Query String)"DAN_WEI_JJ:计算机"即可以查看全文检索结果