我想索引一些文章并在搜索结果中显示段落编号。所以我猜solr架构应该是这样的:
article_id,paragraph_number,paragraph_content
因此,我需要首先解析文章,提取段落并逐一索引。
我担心表演,因为一篇文章可以包含100个段落。
有什么建议吗?
答案 0 :(得分:1)
最好在索引时间而不是搜索时间进行繁重的工作。因此,在索引时解析文档中的段落可能是正确的方法。
你有几篇文章?删除段落确实不应该是一个问题(我们做了更复杂的预处理)。
答案 1 :(得分:1)
如果您只需要针对全文查询匹配单个段落(而不是过滤器等),您还可以使用突出显示来执行此操作 - 拆分段落,为每个段落添加段落编号,然后编制索引段落作为单个文档中单个字段中的多个值。在搜索时,您将在字段上使用完全匹配(例如片段大小为-1)进行突出显示,并且不对高亮显示进行装饰;所以你得到的是与全文查询匹配的段落,以段落编号为前缀(你可能想要撤回)。
不确定这是否完全适合您的用例,但可能是一种有趣的尝试方法 - 我会做类似的事情来识别标题与文字搜索结果旁边显示的全文查询匹配的照片。