solr - 如何仅返回 SOLR 中字段的截断部分?

标签 solr

我在 SOLR 中有一个非常大(5000 多个字符)的文本字段,名为 说明 .到目前为止,它非常适合搜索和突出显示。如果我执行搜索并且没有突出显示的部分,那么我只显示前 300 个字符。我想要做的只是从 SOLR 返回结果中的 300 个字符。

我想这样做是因为在测试时,如果返回较小的结果,我的性能会有所提高。这可能是因为 XML 文档更小,所以在线时间更少,然后处理速度更快,因为文档更小。

我想过使用一个只存储前 300 个字符的新字段。我认为这会奏效,但我想知道是否有更好或更原生的解决方案。

最佳答案

您正在寻找的是突出显示的 hl.maxAlternateFieldLength ( http://wiki.apache.org/solr/HighlightingParameters#hl.maxAlternateFieldLength )。

您需要将该字段定义为其自己的备用字段。如果要突出显示字段 Description ,突出显示查询参数将是:

hl=true
hl.fl=Description
f.Description.hl.alternateField=Description
hl.maxAlternateFieldLength=300

最后,省略Description查询结果中的字段,您必须将其从 fl 中排除查询参数:
fl=score,url,title,date,othermetadata

关于solr - 如何仅返回 SOLR 中字段的截断部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3452665/

相关文章:

java - CommonsHttpSolrServer 性能好吗?

ubuntu - 如何升级/更新 Solr-Jetty ubuntu 包?

mysql - Solr SpatialRecursivePrefixTreeFieldType 和 MySQL DIH

solr索引策略

solr - SchemaChange 是否需要重新索引

lucene - 在 SOLR 中映射一对多实体

lucene - Solr lucene 和 "similar"关键字

solr - openSSL 的 TYPO3 v7、SOLR 和 CentOS7 问题

solr - Elasticsearch 界面

Solrcloud 多核配置