首页 > 解决方案 > 获取 Solr 结果中匹配项的长度

问题描述

我的 solr 索引包含像

{'term': 'abc corp'}, {'term': 'new software'}, {'term': 'abc corp and ltd'}, {'term': 'abc industry'}

我正在使用以下查询搜索文档term:abc\ co*。有什么方法可以得到匹配项的长度。例如,对于上述搜索查询,文档应与匹配项的长度一起返回为{'term': 'abc corp', 'length': 6}, {'term': 'abc corp and ltd', 'length': 11}.

标签: solr

解决方案


处理它的唯一内置方法(我知道)是在索引时使用FieldLengthUpdateProcessor作为您的一个字段的更新链的一部分。处理器将用表示字段长度的整数替换发送到字段的内容,因此通过使用copyField指令,您可以将相同字符串的长度索引到单独的字段。

我确实创建了一个返回给定字段长度的函数查询,但它没有受到任何关注或被合并到任何版本的 Solr - 请参阅SOLR-9715 - Add function for string length


推荐阅读