代码之家  ›  专栏  ›  技术社区  ›  Cosmin Ioniță

如何索引文档?

  •  0
  • Cosmin Ioniță  · 技术社区  · 6 年前

    我对Solr不熟悉,我想确切了解它是如何索引文档的。

    假设我有一个100MB的文档(document1),其中充满了文本。文本不是结构化的,只是原始文本。我把那份文件寄给索尔以便编入索引。

    据我所知,Lucene将解析文档,根据默认模式提取所有单词(假设我们使用的是默认模式),并创建一个索引,基本上是单词和文档列表之间的映射,如:

    单词1 -gt; [文件1]

    单词2 -gt; [文件1]

    现在,如果我想搜索这个词 “单词1” ,solr将给我包含单词的整个100MB文档 “单词1” , 对的 ?

    如果我错了,请纠正我,我需要确切地理解它是如何工作的。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mysterion    6 年前

    你描述了索引部分的大部分内容,至少在高层次上是可以的。原因,为什么你要把你所有的文件都拿回来-这是因为你的字段是 stored solr模式中的一个(至少在默认情况下为真)

    这意味着,除了拥有 单词1->文档1,文档3 单词2->文档2,文档3 等。

    Solr/Lucene还存储字段的原始内容,因此它可以将其返回给您。你可以通过说 stored=false 在您的模式中或通过过滤它 fl 部分和公正的要求 fl=id (或类似的东西)

    如果您只想返回部分文档,在搜索的文档周围,可以使用 Solr Highlighting feature . 在solr中突出显示允许将与用户查询匹配的文档片段包含在查询响应中。