java创建solr索引,[Java教程]SOLR对多个(关联)表创建索引

bc91bb04e6e9c61e24c974e4440db8f2.gif

按照上面的方式配置完成之后,启动tomcat,访问localhost:8080/solr页面,重新创建索引,创建完的索引如下所示:

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif{ "responseHeader": { "status": 0, "QTime": 1, "params": { "indent": "true", "q": "*:*", "_": "1445664391222", "wt": "json" } }, "response": { "numFound": 8, "start": 0, "docs": [ { "userAge": 33, "userAddress": "中国", "isdelete": 0, "updateTime": "2015-10-19T12:41:09Z", "id": 43, "userName": "刘德华", "_version_": 1515741213715595300 }, { "userAge": 44, "userAddress": "中国", "isdelete": 0, "updateTime": "2015-10-19T12:41:26Z", "id": 44, "userName": "周星驰", "_version_": 1515741214565990400 }, { "userAge": 55, "userAddress": "中国", "isdelete": 0, "updateTime": "2015-10-19T12:41:44Z", "id": 45, "userName": "刘若英", "_version_": 1515741214565990400 }, { "userAge": 123, "userAddress": "123", "isdelete": 0, "updateTime": "2015-10-19T12:51:30Z", "id": 46, "userName": "周润发", "_version_": 1515741214565990400 }, { "userAge": 456, "userAddress": "456", "isdelete": 0, "updateTime": "2015-10-19T12:51:40Z", "id": 47, "userName": "梁朝伟", "_version_": 1515741214565990400 }, { "id": 1, "RoleDiscrib": "我是老大", "RoleName": "管理员", "_version_": 1515741214598496300 }, { "id": 2, "RoleDiscrib": "我是老大1", "RoleName": "管理员1", "_version_": 1515741214598496300 }, { "id": 3, "RoleDiscrib": "我是老大12", "RoleName": "管理员12", "_version_": 1515741214598496300 } ] }}

View Code

我数据库中两个表一共只有8条数据,创建的索引也是8条,关于id的事,只要两个表中的id不重复,那么就不会发生索引覆盖的事,所以我这里只是简单做一个例子,关于索引覆盖的事大家可以按照我上面说的几种方法操作就可以了,当然有更好的方法更好了。

二、关联表创建索引

至于关联表创建索引和单表创建索引差不多,本来我是想单独创建几个表,然后再一点一点写出来,但是突然想起来前两天有个朋友给我评论说我写的东西完全看不明白,所以我想这次试试直接使用官方提供的例子来写,什么意思呢?就是把官方文档上的内容粘贴过来试试,其实官方文档写的更好。

2.1.数据库配置

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif

View Code

除了上面那种方式,官方文档还给出了另外一种方式,但是这种方式我没用过,下面我把那种方式贴出来,也把官方文档的解释贴出来,大家可以自己看着使用吧,不过我还是喜欢使用上面的这种方式:

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif

View Code

官方的解释是这样的:

In the above example, there are mappings of fields to Solr fields. It is possible to totally avoid the field entries in entities if the names of the fields are same (case does not matter) as those in Solr schema. You may need to add a field entry if any of the built-in Tranformers are used (see Transformer section)

接下来还是修改schema.

多表创建索引的方式我就介绍完了,虽然写的很粗糙,但是应该还有点用吧,更多的内容大家可以自己去查看官方文档的http://wiki.apache.org/solr/DataImportHandler这个地方,至于有人说都是英文看不懂,关于这个问题我想说的是其实我英文也是半吊子,但是借助一些翻译工具还是能看一点的,看的多了就看的懂了,不要怕看英文,坚持看下去总能看的懂的,就算你看不全懂,至少能明白大概说的什么意思就行啊,带蒙带猜的,这都不是事。

另外关于solr的其他东西我就暂时不不写了,一方面是因为我研究这个时间也不长,有些东西我也不是太懂,目前只能算是刚刚入门吧,另一方面,本来要用solr的项目又说不用了,新开的项目也是比较紧急,所以关于solr的东西也只好暂时先放下了,以后再用到的时候再捡起来继续吧。恩,暂时就这样了。

本文网址:http://www.shaoqun.com/a/151791.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值