solr - 使用 tika 索引某些文档后如何从 solr 关键字搜索中获取段落结果?
问题描述
我使用 TIKA 来索引文档。然后我想从段落开头到包含关键词的段落结尾获取整个段落。我尝试使用 HighlightFragsize 但它不起作用。例如:有一个文件如下:
当我很小的时候,我的父母带我去了很多地方,因为他们想让我更多地了解这个世界。多亏了他们,我见证了世界的多样性和许多美丽的风景。
但无论走到哪里,在我心中,风景最美的地方就是我的家乡。
上面有两段。如果我搜索“我的父母”,我希望能找到整段“当我很小的时候,我的父母......很多美丽的风景”。不仅是本段的一部分。我用HighlightFragsize限制了句子,结果不是我想要的。请帮忙。提前致谢
解决方案
你没有提供很多信息,但我假设你正在使用荧光笔,所以这里有几件事你应该检查:
- 保存解析数据的字段 - 是否存储?你能看到全部内容吗?
- 如果 (1),文本长度是否超过 51200 个字符?默认荧光笔配置有一个设置
maxAnalyzedChars
为51200
. 这意味着荧光笔不会从匹配文档中的突出显示字段中处理超过 51200 个字符来查找突出显示。如果是这种情况,请增加此值,直到获得所需的结果。
在非常大的字段上突出显示可能会导致显着的性能损失,在选择配置之前您应该注意这一点。有关更多详细信息,请参阅此内容。
更新
我不认为有任何称为 HighlightFragsize 的参数,但是有一个称为hl.fragsize
可以在设置为零时执行您想要的操作的参数。
尝试以下查询,看看它是否适合您:
q=my+parents&hl=true&hl.fl=my_field&hl.fragsize=0
此外,无论如何,您都应该注意我在上面发布的前 2 点。
更新 2 我不认为有直接的方法来做你正在寻找的东西。您可以将您的字段拆分为一个多值字段,每个段落都存储为一个单独的值。
然后,您可以使用hl.preserveMulti
,hl.maxMultiValuedToExamine
和hl.maxMultiValuedToMatch
来实现您所需要的。
推荐阅读
- android - Android中onClick的顶级函数
- python - 更改 pyqt 中嵌套布局的扩展空间
- cumulocity - Cumulocity HTML 小部件无法访问子设备数据
- rust - 使用 AsRef 时 String 所需的类型注释
- graphql - 使用 Enzyme & MockProvider 期望/接收状态的正确方法
- c++ - C++:根据 Stroustrup 的示例播种随机数
- angular - Angular,自动创建用户页面
- reactjs - 如何在 Next.js 中设置全局上下文而不会出现“文本内容不匹配”错误?
- html - 可拖动的 div 变得模糊取决于大小
- html - 如何使用引导程序将卡片右侧的内容定位到图像下方?