==========================================
我有二个索引,一个问答,一个新闻
我要如何对这二个索引进行综合检索,
$cl-query(keyword,"ask,news")这样的话,重复的id,后面的索引会覆盖前面的索引,因为这二个索引来自不同的表,二个表里的id都是从1开始的,所以有重复id
谁给个解决方案.
17 个解决方案
#1
坐等................
#2
自占沙发
#3
擦,表情还发错
#4
3连下吧~~
#5
楼上的你的技术分那么高,给个方案啊,别光灌水了。
#6
我技术分哪里高了?我那是水分啊,你说的这个我不会啊
不能在ID上加个别的东西标识一下么?
不能在ID上加个别的东西标识一下么?
#7
而且你这两种东西也不应该掺到一起啊,不是事先有分类了么
#8
sphinx手册中说的:
===============================
$cl->Query ( "test query", "main delta" );
$cl->Query ( "test query", "main;delta" );
$cl->Query ( "test query", "main, delta" );
给出多个索引时的顺序是有意义的。如果同一个文档ID的文档在多个索引中找到,那么权值和属性值会取最后一个索引中所存储的作为该文档ID的权值和属性值,用于排序、过滤,并返回给客户端(除非用SetIndexWeights()显式改变默认行为)。因此在上述示例中,索引“delta”中的匹配项总是比索引“main”中的更优先。
=====================================
不行,sphinx中的建立索引的id必须是int型的,
不过好像可以用id*10000这种方法来防止重复,具体没试过,不知道有没有其他方法。
#9
而且你这两种东西也不应该掺到一起啊,不是事先有分类了么
有分类,但也有个”综合“ 综合的就是把问答,新闻,还有其他类型的内容全部糅合到一起的结果。
#10
既然能id*10000,那么就应该能id+10000,加上第一个取出来数据的个数,不就可以防止重复了么
#11
不过你这个揉合到一起,会按照类型分段啊,还不如存两个然后重新排下序
#12
给id加数值虽说是一个方法,但也太麻烦了。建立索引时得加,取数据时还得重新减。
#13
不能一次都取出来么?多个表union不行么?
#14
库也不在一个里面,而且表结构是不一样的,还有个方法是建立一个整合的表,把所有数据都存到里面。做为综合搜索的sphinx数据源。
不过都好麻烦啊。
不过都好麻烦啊。
#15
库也不在一个里面,而且表结构是不一样的,还有个方法是建立一个整合的表,把所有数据都存到里面。做为综合搜索的sphinx数据源。
不过都好麻烦啊。
#16
楼主的解决方案是怎样的?
#17
分别查询,把查询后的结果先去匹配文章,然后再把返回的文章中合起来,合并的可以自己定义下。
#1
坐等................
#2
自占沙发
#3
擦,表情还发错
#4
3连下吧~~
#5
楼上的你的技术分那么高,给个方案啊,别光灌水了。
#6
我技术分哪里高了?我那是水分啊,你说的这个我不会啊
不能在ID上加个别的东西标识一下么?
不能在ID上加个别的东西标识一下么?
楼上的你的技术分那么高,给个方案啊,别光灌水了。
#7
而且你这两种东西也不应该掺到一起啊,不是事先有分类了么
#8
我技术分哪里高了?我那是水分啊,你说的这个我不会啊
不能在ID上加个别的东西标识一下么?
楼上的你的技术分那么高,给个方案啊,别光灌水了。
sphinx手册中说的:
===============================
$cl->Query ( "test query", "main delta" );
$cl->Query ( "test query", "main;delta" );
$cl->Query ( "test query", "main, delta" );
给出多个索引时的顺序是有意义的。如果同一个文档ID的文档在多个索引中找到,那么权值和属性值会取最后一个索引中所存储的作为该文档ID的权值和属性值,用于排序、过滤,并返回给客户端(除非用SetIndexWeights()显式改变默认行为)。因此在上述示例中,索引“delta”中的匹配项总是比索引“main”中的更优先。
=====================================
不行,sphinx中的建立索引的id必须是int型的,
不过好像可以用id*10000这种方法来防止重复,具体没试过,不知道有没有其他方法。
#9
而且你这两种东西也不应该掺到一起啊,不是事先有分类了么
有分类,但也有个”综合“ 综合的就是把问答,新闻,还有其他类型的内容全部糅合到一起的结果。
#10
既然能id*10000,那么就应该能id+10000,加上第一个取出来数据的个数,不就可以防止重复了么
#11
不过你这个揉合到一起,会按照类型分段啊,还不如存两个然后重新排下序
#12
给id加数值虽说是一个方法,但也太麻烦了。建立索引时得加,取数据时还得重新减。
#13
不能一次都取出来么?多个表union不行么?
#14
库也不在一个里面,而且表结构是不一样的,还有个方法是建立一个整合的表,把所有数据都存到里面。做为综合搜索的sphinx数据源。
不过都好麻烦啊。
不过都好麻烦啊。
#15
库也不在一个里面,而且表结构是不一样的,还有个方法是建立一个整合的表,把所有数据都存到里面。做为综合搜索的sphinx数据源。
不过都好麻烦啊。
#16
楼主的解决方案是怎样的?
#17
分别查询,把查询后的结果先去匹配文章,然后再把返回的文章中合起来,合并的可以自己定义下。