分词并集搜索原理 一种相当鸡肋的搜索方式,和手动搜索多条后叠加差不多,用处不大。 分词算法我不了解,大致就是词典匹配吧,这里不细究,主要研究索引如何建立。 帖子100:小红有一个哈密瓜和两颗樱桃(关键词:哈密瓜、樱桃) 帖子200:小明有一根大香蕉和两颗樱桃(关键词:香蕉、樱桃) 帖子300:小康有一个哈密瓜、一根大香蕉和两颗樱桃(关键词:哈密瓜、香蕉、樱桃) 索引方式:关键词-帖子ID 为帖子建立索引: 哈密瓜-100 哈密瓜-300 香蕉-200 香蕉-300 樱桃-100 樱桃-200 樱桃-300 搜索问题“谁有香蕉或樱桃”(关键词:香蕉、樱桃),则分别倒序读取两个关键词的索引。 若限制结果3条,则每个关键词搜索3条(和限制结果数一致)后合并结果,无论如何皆可取出结果条数。 这里以搜索2条为例: 香蕉-300 香蕉-200 樱桃-300 樱桃-200 合并后从高到低排序,并限制结果数,那么返回结果即为: 300-小康 200-小明 此种方法全程读取索引,且只需取出各关键词限定条目的结果集。交集搜索怎么搞我就不太理解了,感觉需要将多个关键词所有内容取出并叠加筛选,那样在大量数据时内存恐怕会崩溃。