【发布时间】:2014-10-25 11:14:29
【问题描述】:
我正在使用 Solr 开发一个搜索应用程序,该应用程序需要搜索分成章节的“书籍”。一本书可能看起来像这样:
title: "book title"
author: "mr whoever"
chapters: [
{
title: "some chapter title"
text: "blah blah blah"
},
{
title: "some other title"
text: "blah blah blah"
},
... etc.
]
搜索要求:
用户搜索的是 books 而不是 chapters,因此考虑到里面的所有章节文本,排名靠前的结果必须是总体上最相关的书籍。 p>
用户需要查看匹配书中的哪些章节、关于这些章节的信息以及每章匹配的数量。
进展:
多值字段
Solr 支持多值字段(即每本书多个章节),但书籍文档的每个字段不可能有两个字段(标题和文本)。
Solr“加入”
我不知道这是否有必要。每章只属于一本书,所以看起来我们可以将它们全部放在一个文档中而无需过多重复。
动态字段
例如具有“chapter1text_txt”、“chapter1title_txt”和“chapter2text_txt”等字段,并且仅连接独立于 solr 的每章信息,因此 solr 不知道“chapter1text_txt”、“chapter1title_txt”是相同的一部分东西。
配置 schema.xml 以支持和搜索此类文档的正确方法是什么?
【问题讨论】: