这是最后一期了
之前写的东西都快忘干净了,而这次我又碰到了新的问题。
那就是一个solr服务器储存很多个表数据的时候,你应该怎么办……
在多方查询的时候都有一个比较明确的答案,那就是uuid,但uuid要修改schema.xml里面的默认主键
<uniqueKey>id</uniqueKey>
这串代码是schema.xml必不可少的东西(我用的是4.7.1的版本,其他版本具体情况如何我不太清楚)
如果,按照网上给出的办法进行修改,有一部分会要求把这块代码删掉,结局就是报错……疯狂报错,各种报错。
而我想到了一个或许不是那么聪明的办法,数据库在查询的时候大部分都应该允许给查询出来的字段做一个拼接吧?
比如这样:
select concat(‘new_’,id) as id, name, imagename, INFORMATION1, examinationdate
from HY_NEWS
where status=‘1’
大部分人都应该明白我查询的第一个字段代表什么,将new_拼接到id这个字段中,并且字段名依旧是id
后面as id是否多余我不确定,但我这样写至少可以保证我安心啊。
这样查出来的数据,id全部都会被标注上new_xxx。而我们需要做的仅仅是在后台对数据进行分类的时候切割一下这个id就可以了。
再后来我又面临一个问题,这不是项目经理提出来的,而是我自己想到的。
如果我想单独查询,同时储存在solr服务器中的多个表中的某一个表数据的时候,我应该怎么办?
前提条件是数据库没有办法随意增加字段……
这好像就有点麻烦了,我目前没有想到解决办法,如果有哪位大佬可以给出不用在数据库里添加字段的办法解决的话,非常欢迎提出来!
我的解决办法就是不管了……因为在我制作solr的时候,我为的就是进行整个数据库的全文检索,而单独数据表的检索在制作solr之前就已经做好了,所以,我只是在别人造好的房子里面摆放家具而已。
既然别人已经做好了,那我干嘛还要画蛇添足呢?