在Lucene中,索引文件用于提供搜索查询的顺序是什么?

在Lucene中,索引文件用于提供搜索查询的顺序是什么?,lucene,indexing,Lucene,Indexing,对Lucene进行搜索查询时,访问哪些文件(如中所述)以及访问顺序如何?例如,一旦查询被标记为术语列表,使用哪个文件将这些术语转换为命中列表(文档ID)?获得文档ID后,如何查找相关文档?典型的搜索需要以下文件中的信息: 术语词典以获取有关查询中术语的信息 获取与查询匹配的文档ID的频率 已删除的文档文件用于跳过已删除的文档 规范文件用于对文档进行评分 如果查询需要处理位置(例如短语查询),那么也将读取位置文件 存储字段以获取热门搜索的摘要结果 用于突出显示存储字段内容的术语向量 文件的使用

对Lucene进行搜索查询时,访问哪些文件(如中所述)以及访问顺序如何?例如,一旦查询被标记为术语列表,使用哪个文件将这些术语转换为命中列表(文档ID)?获得文档ID后,如何查找相关文档?

典型的搜索需要以下文件中的信息:

  • 术语词典以获取有关查询中术语的信息
  • 获取与查询匹配的文档ID的频率
    • 已删除的文档文件用于跳过已删除的文档
    • 规范文件用于对文档进行评分
    • 如果查询需要处理位置(例如短语查询),那么也将读取位置文件
  • 存储字段以获取热门搜索的摘要结果
  • 用于突出显示存储字段内容的术语向量

  • 文件的使用顺序如下:.tip->.tim->.doc?换句话说,我们是否首先使用.tip文件中的索引在.tim文件中找到术语,然后在.tim文件中找到术语后,是否在.doc文件中查找(除其他外)过帐列表?Lucene没有在内存中保留任何结构以避免块的线性搜索吗?这是文件的正确顺序。关于访问,术语索引部分位于内存中(以加快速度,同时仍然能够使用合理的内存量处理具有许多不同术语的索引),并且过账列表具有跳过列表。