solr 对多张表 建立 索引,查询 时 全部要查

u010702093 2014-10-08 05:17:29
需求: 有多张 没有 关联的表 (注意是没有关联) , 我要在查询的 时候 对这些表都查,得到查询结果。

比如 用户 输入了 一串 字符, 我无法判断 他是 想 搜索 信托,保险,银行理财等(这些都对应数据库的表,表之间无关联,字段也不相同) 那方面的。

所以我要 对些表 都建立 索引, 怎么处理 。。注意是 使用solr


...全文
11385 17 打赏 收藏 转发到动态 举报
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Marho11 2016-02-25
  • 打赏
  • 举报
回复
一个core怎么查询多个表啊,先谢谢你了
得失一念间 2015-08-17
  • 打赏
  • 举报
回复
我遇到了,父表跟子表得情况,一对多得关系,怎么处理呢?
u010702093 2015-07-01
  • 打赏
  • 举报
回复
引用 14 楼 taodengwen 的回复:
[quote=引用 13 楼 taodengwen 的回复:] 比如说 “信托” 表要搜索的词对应数据库字段 name "保险" 表要 搜索的词对应数据库字段 description "银行理财"表要 搜索的词对应数据库字段 title 那么在将这些数据查询出来统一封装成一个java dto(不同的数据来源可以用应字段标识,比如说dataType,=1 代表“信托”的数据 =2代表“保险的数据”) 在将这个dto存储到solr中(doc),查询的时候直接查询solr中的name字段 比如 “信托” 中的name 存储在dto的name “保险” 中的description 也存储在dto的name "银行理财"中的title也存储在dto的name 更多表都可以这样 最后将这些dto转换存储到solr中, 查询的时候直接查询name 就可以了 (name: 输入的关键字)
这样处理就跟表有没有关联没有关系了,这个图片demo实际上没有表关联关系,都是独立的表,, 问题回答了! 我也想请问一下大家,solr 中放什么样的数据更合适,一般什么情况下用solr???[/quote] 我觉得也是, 一般情况下 表关联还是很复杂的
  • 打赏
  • 举报
回复
引用 13 楼 taodengwen 的回复:
比如说 “信托” 表要搜索的词对应数据库字段 name "保险" 表要 搜索的词对应数据库字段 description "银行理财"表要 搜索的词对应数据库字段 title 那么在将这些数据查询出来统一封装成一个java dto(不同的数据来源可以用应字段标识,比如说dataType,=1 代表“信托”的数据 =2代表“保险的数据”) 在将这个dto存储到solr中(doc),查询的时候直接查询solr中的name字段 比如 “信托” 中的name 存储在dto的name “保险” 中的description 也存储在dto的name "银行理财"中的title也存储在dto的name 更多表都可以这样 最后将这些dto转换存储到solr中, 查询的时候直接查询name 就可以了 (name: 输入的关键字)
这样处理就跟表有没有关联没有关系了,这个图片demo实际上没有表关联关系,都是独立的表,, 问题回答了! 我也想请问一下大家,solr 中放什么样的数据更合适,一般什么情况下用solr???
  • 打赏
  • 举报
回复
比如说 “信托” 表要搜索的词对应数据库字段 name
"保险" 表要 搜索的词对应数据库字段 description
"银行理财"表要 搜索的词对应数据库字段 title


那么在将这些数据查询出来统一封装成一个java dto(不同的数据来源可以用应字段标识,比如说dataType,=1 代表“信托”的数据 =2代表“保险的数据”) 在将这个dto存储到solr中(doc),查询的时候直接查询solr中的name字段
比如 “信托” 中的name 存储在dto的name
“保险” 中的description 也存储在dto的name
"银行理财"中的title也存储在dto的name
更多表都可以这样
最后将这些dto转换存储到solr中, 查询的时候直接查询name 就可以了 (name: 输入的关键字)




caolei616 2015-04-01
  • 打赏
  • 举报
回复
用单核的话 把id改为guid 要不就用多核 查询时加地址就可以
Q博士. 2015-03-09
  • 打赏
  • 举报
回复
欧,可以了。是shards=http://localhost:8983/solr/core1,http://localhost:8984/solr/core2,......
Q博士. 2015-03-09
  • 打赏
  • 举报
回复
参数好像是shard=http://localhost:8983/solr,http://localhost:8984/solr这种,但我刚刚试了,又不行了,不知道为什么,我以前就是这样做的。
Q博士. 2015-03-09
  • 打赏
  • 举报
回复
在solr里建立多个core,然后搜索的时候加上一个参数,分别是每个core的基地址,就可以了。
懒人最快乐 2015-02-27
  • 打赏
  • 举报
回复
如果是在rails下的话,那需要为各个相关表配置solr的参数,然后在查询时,进行多表级联查询
藍ai冰 2015-02-02
  • 打赏
  • 举报
回复
生成之后怎么办啊,还是不知道查询的是哪张表的数据啊
April_CH 2014-10-31
  • 打赏
  • 举报
回复
还是一个索引库(core)简单,只不过需要修改这几个表的主键生成策略,例如uuid
u010702093 2014-10-30
  • 打赏
  • 举报
回复
引用 2 楼 yanghongjy 的回复:
一串 字符, 我无法判断 他是 想 搜索 信托,保险,银行理财等 这个字符可能是流水号,可能是名称,备注,日期等等 这些字段需要吗? 你们具体需求是什么?要这些所有这些东西不? 只查自己还是其他服务?
问题不是要哪些 字段, 是一次性要 检索 多张表 。。 要对多张表 进行 搜索。 这些表的 id 都是自动生成的 。生成索引时 为 发生 覆盖。 有人说可以使用 多个core 解决, 那查询的时候 如何查询多个core呢 。。 顺便问下 : 有做过 solr 拼音 suggest 吗 ? 不知道如何下手
u010702093 2014-10-30
  • 打赏
  • 举报
回复
引用 楼主 u010702093 的回复:
需求: 有多张 没有 关联的表 (注意是没有关联) , 我要在查询的 时候 对这些表都查,得到查询结果。 比如 用户 输入了 一串 字符, 我无法判断 他是 想 搜索 信托,保险,银行理财等(这些都对应数据库的表,表之间无关联,字段也不相同) 那方面的。 所以我要 对些表 都建立 索引, 怎么处理 。。注意是 使用solr
关键 点 在 :要对多张表 进行 搜索。 这些表的 id 都是自动生成的 。生成索引时 为 发生 覆盖。 有人说可以使用 多个core 解决, 那查询的时候 如何查询多个core呢 。。 顺便问下 : 有做过 solr 拼音 suggest 吗 ? 不知道如何下手
艾小仙 2014-10-14
  • 打赏
  • 举报
回复
不明白你的意思啊,你建立索引后就直接查solr就可以查啊 还管你什么表啊
yanghongjy 2014-10-10
  • 打赏
  • 举报
回复
一串 字符, 我无法判断 他是 想 搜索 信托,保险,银行理财等 这个字符可能是流水号,可能是名称,备注,日期等等 这些字段需要吗? 你们具体需求是什么?要这些所有这些东西不? 只查自己还是其他服务?
相关推荐

25,989

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告