索引
文档
~ 分词 (中文分词有scws等)
~ 去除无意义的字符|得到:{
词语
出现次数
}
~ 根据资料每部分的权重不同等规则来得到每个词语的权重值|得到:{
词语
每个词语的权重
}
~ 存储关键字
~ 存储关键字与文档的关系,对应权重及用于搜索的关系(即索引)
索引完成
搜索
关键字
~ 拆分(空格拆分,中文分词拆分等)
~ 去除常用关键字,最小字符长度等规则过滤|得到:{
+ 关键字列表
- 关键字列表 (可能不需要在关键字中来过滤)
...
}
~ 查询得到每个关键字组中及对应到每个文档的权重列表
~ 通过关键字规则计算出关键字的权重值
~ 排序关键字并获取指定范围的文档键值列表
~ 根据文档键值获得文档
搜索完成
可用于英文的搜索关键字推荐
关键字
~ 拆分(空格拆分,中文分词拆分等)
~ 去除常用关键字,最小字符长度等规则过滤|得到:{
必要的关键字列表
}
~ 根据拆分的关键字一一到数据库获取相同发音的关键字|得到:{
相同发音的关键字列表 (SQL中可用soundex函数)
}
~ 比较发音相同关键字与原关键字相似度,定阀值来看是否保留|得到:{
较高权重的关键字 (PHP中可用levenshtein或similar_text)
权重
}
~ 根据上述权重得到最高权重的几个关键字
获得推荐关键字完成
文档
~ 分词 (中文分词有scws等)
~ 去除无意义的字符|得到:{
词语
出现次数
}
~ 根据资料每部分的权重不同等规则来得到每个词语的权重值|得到:{
词语
每个词语的权重
}
~ 存储关键字
~ 存储关键字与文档的关系,对应权重及用于搜索的关系(即索引)
索引完成
搜索
关键字
~ 拆分(空格拆分,中文分词拆分等)
~ 去除常用关键字,最小字符长度等规则过滤|得到:{
+ 关键字列表
- 关键字列表 (可能不需要在关键字中来过滤)
...
}
~ 查询得到每个关键字组中及对应到每个文档的权重列表
~ 通过关键字规则计算出关键字的权重值
~ 排序关键字并获取指定范围的文档键值列表
~ 根据文档键值获得文档
搜索完成
可用于英文的搜索关键字推荐
关键字
~ 拆分(空格拆分,中文分词拆分等)
~ 去除常用关键字,最小字符长度等规则过滤|得到:{
必要的关键字列表
}
~ 根据拆分的关键字一一到数据库获取相同发音的关键字|得到:{
相同发音的关键字列表 (SQL中可用soundex函数)
}
~ 比较发音相同关键字与原关键字相似度,定阀值来看是否保留|得到:{
较高权重的关键字 (PHP中可用levenshtein或similar_text)
权重
}
~ 根据上述权重得到最高权重的几个关键字
获得推荐关键字完成