代码之家  ›  专栏  ›  技术社区  ›  Bruno Reis

Lucene中的多个索引还是单个索引?

  •  14
  • Bruno Reis  · 技术社区  · 14 年前

    我必须索引应该一起搜索的不同类型的数据(文本文档、论坛消息、用户配置文件数据等)(即,一次搜索将返回不同类型数据的结果)。

    • 有多个索引的优点和缺点是什么,每种类型的数据都有一个索引?

    • 对于所有类型的数据都有一个索引的优点和缺点?

    谢谢您。

    3 回复  |  直到 14 年前
        1
  •  5
  •   Mahdi Amrollahi    14 年前

    如果要用一次搜索搜索所有类型的文档,最好保留所有 键入一个索引。在索引中,可以定义更多要标记或矢量化的字段类型。

    如果要单独搜索术语,最好将每种类型索引为一个索引。

    另一方面,我们可以用多个指数来平衡我们的负荷。

        2
  •  2
  •   great_llama    14 年前

    我将使用一个索引,为类型添加一个关键字(indexed,stored)字段,如果需要,它将允许您进行筛选,并告诉您返回的结果之间的差异。

    (也许在你的问题中。。。使用单独的索引可以让每个语料库都有自己的相关度得分,不知道一个语料库中重复的词语是否会使其他语料库中的文档失去相关性?)

        3
  •  1
  •   Mikos    14 年前

    您应该从逻辑上考虑每个数据集包含什么,并根据主题或其他标准(如地理位置、业务单元等)设计索引。一般来说,索引体系结构与数据库相似(例如,即使技术上可行,也可能不会将会计与人事数据库结合起来)。

    正如@llama指出的,创建一个单一的uber索引会影响相关性得分、安全/访问问题等,并引发一系列新的麻烦。

    总而言之:根据您的业务需要考虑逻辑分区结构。如果没有进一步的背景很难解释。