关于solr--多表插入索引覆盖问题
来源:互联网 发布:杜老师的c编程密码 编辑:程序博客网 时间:2024/06/04 23:25
问题描述:如果在solr中添加数据库中表数据:在solrhome中配置solrconfig.mxl文件,添加一个requestHandler。
<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,保存到solrhome下的一个solrcore---->collection1\conf\目录下加入如下配置(
solrcore相当于mysql中一个数据库
)
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/lucene"
user="root"
password="root"/>
<document>
<entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products ">
<field column="pid" name="id"/>
<field column="name" name="product_name"/>
<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>
这样重启tomcat--->选中collection1------>dataimport添加数据库索引即可,但是如果添加另外一张表id也是从1开始,则继续引入索引,会覆盖原原有相同id的索引。想要解决这个问题
需要将这个sql语句进行如下修改即可 将原有的pid的sql语句改为concat("book_",pid)
得到的结果为
可以看出这样在索引前加上前缀,则课解决id重复问题,就不会在覆盖原有的索引,并且,此时数据库的id并没有改变,只是将索引id更改
- 关于solr--多表插入索引覆盖问题
- 全文索引----创建多表solr索引
- 全文索引----创建多表solr索引
- 全文索引----创建多表solr索引
- solr增量索引问题
- 关于Solr索引性能优化
- 关于缓冲区覆盖问题
- Solr 6.0 学习(二)创建core并插入索引
- Solr 6.0 学习(二)创建core并插入索引
- Solr 6.0 学习(二)创建core并插入索引
- Solr 6.0 学习(二)创建core并插入索引
- 八、关于solr内存不足问题
- 关于mysql索引覆盖的实例
- SOLR对多个(关联)表创建索引
- SOLR对多个(关联)表创建索引
- SOLR对多个(关联)表创建索引
- SOLR对多个(关联)表创建索引
- solr索引
- 我的第一篇博客(我的Android学习之旅)
- 素数的求解方法:
- leetcode#38. Count and Say
- PHP访问控制修饰符
- python如何调用编译后的可执行文件
- 关于solr--多表插入索引覆盖问题
- RJ45接口定义及网线线序
- 超级终端使用简介
- Android 帧布局
- fetch API简单使用方法
- USB2.0之LPM
- 第02课 04 JS中级课程-表单操作-4
- 34. Search for a Range
- 为什么小城市没有牛逼的研发团队