1.unique key (id) 在solr 和数据库的id
- 数据库表的id 和solr 的unique key id 区别在哪
- q_answer表 一个id 对应10个question 如何在solr上 一个(unique key)id对应一个question q且保留它原来在数据库表的id字段 如何设置
-
解决方法
- 1.弄清楚各个配置项的含义 读官方文档 好像行不通
- 2.how2j有相关教程 先过一遍
我的思考
- 让solr与数据库一一对应 对问题创建索引&中文分词 找到对应的id 从而找到对应的answer
id | Q1 | Q2 | Q3 | answer |
---|---|---|---|---|
1 | 你是 ? | 你是谁? | 谁? | demo |
2 | 几号 ? | 日期? | 日子? | 21号 |
3 | 男的 ? | 女的? | 性别? | 男 |
- 可行 但是 当数据库新增字段 solr就要新增字段 效率很低。目的要把数据库和solr分离 solr是对内容进行索引,并不一定要与数据库一一对应。
- 解决方案:solr 上一个sid 对应一个问题(每个问题包含它数据库对应的id)
sid | aid | questton |
---|---|---|
1 | 1 | 你是谁? |
2 | 1 | 你是? |
3 | 1 | 谁? |
4 | 2 | 几号? |
5 | 2 | 日期? |
6 | 2 | 日子? |
7 | 3 | 性别? |
- 结构好处:数据库question字段增加 不会改变solr索引结构
两种查询方式
- 模糊查询:通过关键词走solr流程 找到对应id 在精确查询
- 精确查询:不走solr流程 直接在数据库中查询