solr整合springmvc开发(一)

来源:互联网 发布:源码吧 编辑:程序博客网 时间:2024/05/15 01:25

开发前提:将数据库导入索引库

1.自定义一个索引库

2.配置IKAnalyzer中文分析器

   a.把IKAnalyzer2012FF_u1.jar添加到solr/WEB-INF/lib目录下

   b.复制IKAnalyzer的配置文件和自定义词典和停用词词典到solr的solr/WEB-INF/classes目录下。复制IK分词器配置文件、自定义词典、停用词词典(词典需要自己配置)

   c.在schema.xml中添加一个自定义的fieldType,使用中文分析器

    <!--IKAnalyzer-->

        <fieldType name="text_ik"class="solr.TextField">

        <analyzerclass="org.wltea.analyzer.lucene.IKAnalyzer"/>

    </fieldType>

    d.在schema.xml中添加field,指定field的type属性为text_ik

<!--IKAnalyzerField-->

<fieldname="content_ik" type="text_ik" indexed="true"stored="true" />

重启tomcat,查看是否生效。

3.根据数据库字段,来定义field

如下配置到scheme配置文件即可:

<!--product-->

   <fieldname="product_name" type="text_ik" indexed="true"stored="true"/>

   <fieldname="product_price" type="float" indexed="true"stored="true"/>

   <fieldname="product_description" type="text_ik"indexed="true" stored="false" />

   <fieldname="product_picture" type="string"indexed="false" stored="true" />

   <fieldname="product_catalog_name" type="string"indexed="true" stored="true" />

 

   <field name="product_keywords"type="text_ik" indexed="true" stored="false"multiValued="true"/>

   <copyFieldsource="product_name" dest="product_keywords"/>

   <copyFieldsource="product_description" dest="product_keywords"/>

导入数据库需要在索引库中lib目录(没有,则创建)下添加两个jar包--solr-dataimporthandler-4.10.3.jar 和 MySQL驱动包

4.修改solrconfig.xml,加载刚刚复制进来的jar包

  添加以下配置即可:

  <lib dir=".. /lib"regex="solr-dataimporthandler-\d.*\.jar " />

  <lib dir=".. /lib"regex="mysql-connector-java-\d.*\.jar " />

5.在solrconfig.xml配置文件中添加:

   <requestHandlername="/dataimport"

      class="org.apache.solr.handler.dataimport.DataImportHandler">

    <lst name="defaults">

      <strname="config">data-config.xml</str>

     </lst>

      </requestHandler> 

6.在自定义的索引库的conf\目录下创建data-config.xml文件

<?xml version="1.0"encoding="UTF-8" ?> 

<dataConfig>  

<dataSource type="JdbcDataSource"  

                driver="com.mysql.jdbc.Driver"  

               url="jdbc:mysql://127.0.0.1:3306/solr"  

                user="root"  

                password="root"/>  

<document>  

       <entityname="product" query="SELECTpid,name,catalog,catalog_name,price,description,picture FROM products">

               <field column="pid"name="id"/>

               <field column="name"name="product_name"/>

               <field column="catalog"name="product_catalog"/>

               <field column="catalog_name"name="product_catalog_name"/>

               <field column="price"name="product_price"/>

               <field column="description"name="product_description"/>

               <field column="picture"name="product_picture"/>

       </entity>  

</document> 

</dataConfig>

    

点击execute执行。导入数据完成



6 0
原创粉丝点击