用solr uuid解决多表导入数据库问题
2014-10-30 13:45
218 查看
数据库中无关联的多表导入到solr中的解决办法(防止id被覆盖)
这个值实用与多表的全量导入的情况,增量导入暂时还不适用此办法解决。
1、在schema中添加
<field name="uuid" type="uuid" indexed="true" stored="true" required="true" multiValued="false" />
id 那行改成<field name="id" type="int" indexed="true" stored="true"/>
添加: <fieldType name="uuid" class="solr.UUIDField" indexed="true" />
将 这行改成:<uniqueKey>uuid</uniqueKey>
2、在solrconfig.xml中:
注释掉:
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<str name="queryFieldType">string</str>
<str name="config-file">elevate.xml</str>
</searchComponent>
添加:
<updateRequestProcessorChain name="uuid">
<processor class="solr.UUIDUpdateProcessorFactory">
<str name="fieldName">uuid</str>
</processor>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
修改:
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<!-- See below for information on defining
updateRequestProcessorChains that can be used by name
on each Update Request
-->
<!--
<lst name="defaults">
<str name="update.chain">dedupe</str>
</lst>
-->
<lst name="defaults">
<str name="update.chain">uuid</str>
</lst>
</requestHandler>
这个值实用与多表的全量导入的情况,增量导入暂时还不适用此办法解决。
1、在schema中添加
<field name="uuid" type="uuid" indexed="true" stored="true" required="true" multiValued="false" />
id 那行改成<field name="id" type="int" indexed="true" stored="true"/>
添加: <fieldType name="uuid" class="solr.UUIDField" indexed="true" />
将 这行改成:<uniqueKey>uuid</uniqueKey>
2、在solrconfig.xml中:
注释掉:
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
<str name="queryFieldType">string</str>
<str name="config-file">elevate.xml</str>
</searchComponent>
添加:
<updateRequestProcessorChain name="uuid">
<processor class="solr.UUIDUpdateProcessorFactory">
<str name="fieldName">uuid</str>
</processor>
<processor class="solr.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>
修改:
<requestHandler name="/update" class="solr.UpdateRequestHandler">
<!-- See below for information on defining
updateRequestProcessorChains that can be used by name
on each Update Request
-->
<!--
<lst name="defaults">
<str name="update.chain">dedupe</str>
</lst>
-->
<lst name="defaults">
<str name="update.chain">uuid</str>
</lst>
</requestHandler>
相关文章推荐
- Solr1.4.0源码分析(一) 解决DataImportHandler从数据库导入大量数据而内存溢出的问题
- 解决Solr对Mysql做数据导入时内存溢出的问题
- 用c#的OLEDB导入Excel到数据库产生科学计数法问题解决
- solr 4 线上服务,解决慢查询导入问题。Query execution was interrupted
- excel内容导入数据库数据丢失问题的分析几解决方法
- 解决MySQL导入备份文件到新数据库乱码问题
- java实现EXCEL数据导入到数据库中的格式问题的解决
- 解决数据库导入mysql时中文乱码问题
- 解决phpmyadmin导入大数据库出现一系列问题
- paip.将数据导入到在英语语音数据库mysql道路解决空原则问题
- 解决mysql导入数据库编码格式不同问题。
- solr DataImportHandler 解决mysql 表导入内存溢出问题
- solr 4 线上服务,解决慢查询导入问题。Query execution was interrupted
- 解决C#中txt文档导入数据库时,中文显示乱码的问题
- paip.导入数据英文音标到数据库mysql为空的问题之道解决原理
- asp.net 导入CSV 文件内容 到 SQL Server 数据库 解决CSV内容数据重复添加问题
- C#解决从含身份证号码的Excel表格导入数据库的问题
- Java调用BCP导入数据到数据库解决标识列ID问题
- Excel导入数据库时出现的文本截断问题解决方案
- Oracle 中用 imp 和 exp 命令导入导出数据库(附问题及解决办法)