版本: java/Perl/Python/C++/net
搜索引擎的核心是索引
搜索的质量用精确度和召回率来描述,召回率衡量系统搜索到相关文档的能力,精确度描述过滤不相关的能力
正文摘要文件(存储域,名称...,偏移位置,域数据)
倒排信息文件(字典,文本,所在域,索引,词频)
顺排信息文件(词向量索引,向量域信息)
打分相关文件
实现:
LRUcache基于linkedhashmap,多线程需要用collections.synchronized.map...Processor语言处理组件: 处理词元(小写,词根stemming/lemmatization)
Indexer:索引组件: 将Term创建字典.排序,合并为倒排链表
搜索:
用户输入查询语句(AND.../OR/NOT)
词法分析,语法分析,语言处理(同indexer)
搜索索引,负荷语法树的文档(链表合并->做差)
文档和查询语句的相关性(relevance)排序
a....空间向量模型判断VSM文档的相关性
http://blog.csdn.net/forfuture1978/archive/2009/10/22/4711308.aspx
盘古分词(lucene .net2.9