文本字段中的 Solr 范围查询

Solr range query in text field

我有一个多值字段。内容是这样的

multi_field:"type:type1; YEAR:2008"

我希望能够基于 YEAR 子字符串进行范围请求。我不明白我是否可以执行这种范围查询。我想要这样的东西。 q=multi_field:"type:type1;*" AND multi_field:"*YEARS:[2005 TO 2010]*"

可能吗?我知道这看起来很可怕。但是有什么办法可以得到它吗?

不,这是不可能的(至少没有大量的编码)。最简单的方法应该是修复索引代码以将字段拆分为两个单独的字段。如果您需要保持原始 multi_field 可用(例如,它用于处理搜索结果),请创建两个新字段(例如 multi_field_part1multi_field_part2),在新字段上进行搜索字段 (q=multi_field_part1:type1 AND multi_field_part2:[2005 TO 2010]),但在结果中使用旧字段。