solr配置dataimport步骤

按照昨天的步骤,可以看到一个无内容的solr管理界面,其中,collection1中没有任何数据内容,这次就详细说明一下如果配置solr中的相关文件进行直接的数据库导入操作。

配置步骤

1、所需jar包: 可在solr-4.7.0\dist目录下copy
1) solr-dataimporthandler-extras-4.7.0.jar;
2) solr-dataimporthandler-4.7.0.jar;
3) ojdbc-6.jar;自己下载
将jar包放在tomcat下的\webapps\solr\WEB-INF\lib中
这里写图片描述

2、修改solr的核心配置 :
F:\cjj\solr\solr-4.7.0\solrhome\collection1\conf
之前创建的solrhome下的配置文件中:需要更改3个地方:
这里写图片描述
2.1)首先是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,顾名思义,是配置相关数据源的。

2.2)然后是新建data-config.xml文件,添加如下这段配置:

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

<dataConfig>
    <dataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@192.168.17.184:1521:gisdev" user="gisdev" password="gisdev"/>       <document name="salesDoc">
      <entity name="t_map_point"  query="select * from t_map_point   where type ='SALES_DEPT' and isvalid  ='1' " >
       <field name="id" column="id" />
       <field name="name" column="name" />
       <field name="address" column="address" />
       <field name="lng_baidu" column="lng_baidu" />
       <field name="lat_baidu" column="lat_baidu" />
     </entity>
   </document>
</dataConfig>

这里写图片描述

2.3)最后的一个文件配置是修改schema.xml文件,添加在data-config中定义的字段,如果已经存在如id,name,则可不用重新添加。
这里写图片描述

3、最后一步,全量或者增量导入数据:
启动tomcat,选择collection1,选择dataimport命令界面:
我们可以选择是全量导入还是增量导入,并且选择配置好的实体。
这里写图片描述
实体是我们在data-config.xml中配置的实体,已根据SQL过滤。
这里写图片描述
点击execute后
这里写图片描述
等待一会,刷新一下,可以看到已经执行完毕了。
这里写图片描述
这个时候,再返回去看collection1中有什么变化:
这里写图片描述
可以看到总数有9068条数据组合成的docs,对应数据库中过滤出的9068的总数,每个实体也按照我们定义好的字段显示出来,是放在docs的索引节点存在的。
这里写图片描述

至此,我们就完成了数据库导入至solr的全部配置和步骤了,下节就分享一下如何通过java连接solr进行数据操作了。
学无止境~
希望看到此篇博客的网友们都有好心情~

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
您可以按照以下步骤配置Solr的增量更新: 1. 在Solr的web.xml文件中添加增量更新监听器。在web.xml文件中添加以下代码段: ``` <listener> <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class> </listener> ``` 这将引入增量更新的监听器。 2. 配置solrconfig.xml文件。在solrconfig.xml文件中,您需要配置以下内容: - 设置dataImportHandler请求处理器。确保以下的请求处理器配置solrconfig.xml的<requestHandler>部分中: ``` <requestHandler name="/dataimport" class="solr.DataImportHandler"> <lst name="defaults"> <str name="config">solr-data-config.xml</str> </lst> </requestHandler> ``` - 设置自动调度器。在solrconfig.xml的<config>部分中添加以下配置: ``` <autoCommit> <maxDocs>10000</maxDocs> <maxTime>15000</maxTime> </autoCommit> <updateHandler class="solr.DirectUpdateHandler2"> <updateLog> <str name="dir">${solr.data.dir:}</str> </updateLog> </updateHandler> <requestDispatcher handleSelect="true" > <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048000" /> </requestDispatcher> ``` - 配置增量更新定时任务。在solrconfig.xml的<config>部分中添加以下配置: ``` <dataConfig> <dataSource type="JdbcDataSource" driver="your_driver" url="your_jdbc_url" user="your_username" password="your_password" /> <document> <entity name="<your_entity_name>" query="<your_query>" deltaQuery="SELECT id FROM your_table WHERE last_modified > '${dataimporter.last_index_time}'"> <field column="id" name="id" /> <!-- 增加其他字段 --> </entity> </document> </dataConfig> ``` 注意替换上述代码中的占位符,例如your_driver、your_jdbc_url、your_username、your_password、your_entity_name、your_query和your_table,根据您的实际情况配置。 3. 配置managed-schema文件。确保managed-schema文件中包含增量更新需要的字段定义。 4. 下载并安装增量更新的jar包。从https://code.google.com/p/solr-dataimport-scheduler/downloads/list下载apache-solr-dataimportscheduler-1.0-with-source.jar,并将它放置在Tomcat目录的相应位置。 完成上述配置后,您可以启动项目并开始使用Solr的增量更新功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [solr自动增量更新](https://blog.csdn.net/SSHH_ZHU/article/details/103968258)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Solr的增量更新和全量更新对比](https://blog.csdn.net/qq_42941671/article/details/108324169)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [solr配置增量更新和定时更新数据库索引](https://blog.csdn.net/weixin_33433067/article/details/113541424)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值