Solr 查询 - 有没有办法限制响应中文本字段的大小

Dan*_*Dan 5 solr full-text-search

有没有办法限制查询中文本字段中的文本数量?这是一个快速场景....

我有两个字段:

  • docId - 整数
  • 文本 - 字符串。

我将查询 docId 字段并希望从 200 个字符的文本字段中获取“预览”文本。平均而言,文本字段有 600-2000 个字符,但我只需要预览。

例如。[mySolrCore]/select?q=docId:123&fl=text

有什么办法可以做到,因为如果我只需要一个小预览,我看不到带回整个文本字段的意义?

我不是在看命中突出显示,因为我不是在文本字段中搜索特定文本,但如果 hl.fragsize 参数有类似的功能,那就太好了!

希望有人能指出我正确的方向!

干杯!

Aar*_*n D 6

您必须测试此变通方法的性能,而不是仅返回整个字段,但它可能适用于您的情况。基本上,在不匹配的字段上打开突出显示,然后使用备用字段返回所需的有限数量的字符。

http://solr:8080/solr/select/?q=*:*&rows=10&fl=author,title&hl=true&hl.snippets=0&hl.fl=sku&hl.fragsize=0&hl.alternateField=description&hl.maxAlternateFieldLength=50

笔记:

  • 确保您的备用字段不存在于字段列表 (fl) 参数中
  • 确保您的突出显示字段 (hl.fl) 实际上不包含您要搜索的文本

我发现运行荧光笔的 cpu 成本有时会超过仅返回整个字段的 cpu 成本和带宽。你必须进行实验。