Solr5.5导入数据

来源:互联网 发布:面试技巧 知乎 编辑:程序博客网 时间:2024/06/07 10:41

本文将介绍solr-5.5.2导入数据并建立索引的例子。solr版本更新太快了,版本之间的差异十分大。比如之前的版本中,在core中使用schema.xml作为根描述文件,在solr5.5中使用的是叫做managed-schema作为描述文件。

1、本文采用oracle数据库,需从oracle官网下载的ojdbc6.jar包拷到tomcat\solr\WEB-INF\lib中,为接下来的数据导入做准备。

2、在前文的solrhome/目录下创建new_core(自定义)文件夹, 在其目录下创建data文件夹,并将solrhome/configsets/basic_configs/目录下的conf文件夹复制到new_core下。

3、在solrhome/new_core/conf下,编辑solrconfig.xml,添加以下内容:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">    
    <lst name="defaults">    
      <str name="config">solr-data-config.xml</str>          
    </lst>    
  </requestHandler> 

solr-data-config.xml文件是自己制定的数据源描述文件,名字可以随便取

4、 在solrhome/new_core/conf目录下新建一个solr-data-config.xml文件,并添加如下内容:

<dataConfig>
    <dataSource name="db" password="hbnctdcb" user="hbnctdcb" url="jdbc:oracle:thin:@192.168.99.194:1521:orcl" driver="oracle.jdbc.driver.OracleDriver"> 
    </dataSource> <!--可以配置多个数据源, -->
    <document name="demo">  
        <entity name="demo" dataSource="db"  
query="select * from CBF"  
                deltaQuery="select cbfbm from cbf where rksj > '${dih.last_index_time}'">
          <field column="CBFMC" name="CBFMC" />
  <field column="CBFBM"name="CBFBM"/> 
          <field column="RKSJ" name="RKSJ" />
        </entity>
</document>  
</dataConfig>

注意:

demo是实体名称

colunm:对应的是数据库中表字段名称

query:就是full-import导入的查询语句

deltaQuery:增量查询语句

deltaImportQuery:delta-import导入的查询语句


5、solrhome/new_core/conf目录下的managed-schema文件中添加如下内容:

  1. <field name="CBFMC" type="string" indexed="true" stored="true" />  
  2. <field name="CBFBM" type="string" indexed="true" stored="true" />
  3. <field column="RKSJ"type="string" indexed="false" stored="true" /> 

6、创建数据服务,点击add core。


7、导入数据并创建索引。



选择刚刚添加的实体demo进行索引操作:我们这儿可以选择full-import或者delta-import(增量索引),选择增量索引需要把clean的勾给去掉,不然会清除之前的,增量的索引的初衷是对新增或者修改的记录重新索引,会追加到原有的索引文件当中。当我们选择full-import的时候,最好就是把原有的索引文件给清空重新索引。

点击Execute即可创建索引。创建成功后可以使用左侧的query进行测试。


0 0