摘要:查询扩展 查询扩展的动机:提高召回率 问题:考虑查询q: [aircraft],某篇文档d包含“plane”, 但是不包含“aircraft”,显然对于查询q,一个简单的IR系统不会返回文档d,即使d是和q最相关的文档。我们试图改变这种做法:也就是说,我们会返回不包含查询词项的相关文档。 方法:不考虑查询(即与查询无关)及其返回文档情况下对初始查询进行扩展和重构,即进行一次性的全局分析(比如分...
阅读全文
摘要:Lucene的分析过程回顾倒排索引的构建收集待建索引的原文档(Document)将原文档传给词条化工具(Tokenizer)进行文本词条化将第二步得到的词条(Token)传给语言分析工具(Linguistic modules)进行语言学预处理,得到词项(Term)将得到的词项(Term)传给索引组件(Indexer),建立倒排索引注:详细文档->倒排索引的理论过程见词项词典及倒排记录表分析操作的使用场景1.如上,倒排索引的构建阶段2.针对自由文本的查询阶段QueryParser parser = new QueryParser(Version.LUCENE_36, field, anal
阅读全文
摘要:一个完整的搜索系统 层次型倒排索引 基于前面非精确top K检索中的胜者表的思路,实际搜索系统可以建立多层索引结构。 基本思路:建立多层索引,每层对应索引词项的重要性 查询处理过程中,从最高层索引开始。如果最高层索引已经返回至少k (比如, k = 100)个结果,那么停止处理并将结果返回给用户。如果结果 < k 篇文档,那么从下一层继续处理,直至索引用完或者返回至少k 个结果为止。 例...
阅读全文