【问题标题】:Lucene - KeyWord Filed confusionLucene - 关键字归档混淆
【发布时间】:2015-10-20 16:50:53
【问题描述】:

我开始学习 Lucene,所以我正在阅读 Lucene in Action。这本书关于字段的摘录是:

Keyword—Isn’t analyzed, but is indexed and stored in the index verbatim.
This type is suitable for fields whose original value should be preserved in
its entirety, such as URLs, file system paths, dates, personal names, Social
Security numbers, telephone numbers, and so on

我从中了解到的是,如果使用关键字字段对文本进行索引,则不会对其进行分析(未拆分为标记),而是对其进行索引。但是,我不明白and stored in the index verbatim 在哪里。

我对存储在索引中感到困惑。我假设如果文本被索引,它将被存储在索引数据结构中。

谁能举个例子解释一下?

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    我想你一定在阅读 Lucene in Action 的第一版。那本书已有 11 年历史,无可救药已过时。我不会太担心理解 Lucene 1.4 的约定。

    The Second Edition 可用。它已有 5 年历史,基于 Lucene 3.0,所以它肯定有些过时,尤其是在 lucene 4.0 版发生了巨大变化之后,但并非毫无希望。阅读这肯定会更多更有用。


    存储和索引字段之间的区别仍然存在。用 Lucene 的说法:

    • 索引 - 字段已编入索引,可以搜索。关键字字段(或者,最近,StringField)没有被分析,但它们被索引,因此它们的完整内容可以在没有标记化的情况下搜索。

    • 存储 - 字段完整存储,与索引表单分开存储,以供以后检索。当你从 Lucene 获得搜索结果时(例如,来自IndexSearcher.doc(int)),你返回的文档中只会有存储的字段。

    因此,您可以拥有一个可以搜索但不会在结果中返回的字段,或者一个在结果中返回但无法搜索的字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      • 2017-02-28
      • 2021-01-11
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多