说明:
这里用于存放数据的是Redis内存数据库
真正的文本还得要进行分词操作
对下图redis数据库的两个Map描述
Map描述
key表示关键词,value表示该关键词在哪些地方出现过,一般情况下,这个key使用一种特定的编码存放,一般不会直接存放中文
Index描述
value具体的文本文章,key是该文本文章的标识符
一.如何创建关键字和Index的关系
Map中数据,是由Index得到的,详细操作会用到redis-search4j组件,不了解redis-search4j就先查看相关文章
做法:
对Index的数据用redis-search4j创建索引,接着用关键字,去查Index,得到所有包含该关键字的value值,然后就保存该key的value值到Map中
二.输入关键词,查询出所有的对应的value值
输入的关键词为1,2,3,从Map中查询出所有该key的value值
三.如何得到与当前输入的关键词,最匹配的文本
用上一步得到的所有的value,查询出,哪个文本的标识符出现的最多,就是最匹配的文本,从图上得知
a出现的了2次
b出现的了2次
c出现的了2次
d出现的了3次
e出现的了2次
f出现的了1次
g出现的了1次
d对应的value值为1,2,3,5,正好包含输入的1,2,3
如有不正确的或需改进的地方,请留言指教!