在具有范围的属性内进行Solr搜索

时间:2018-08-03 04:57:04

标签: java search solr querying

我们将在Solr搜索中提供如下数据/文档,

{
//..some data
age:"10 TO 29"
//some other data
}

我需要基于单个值(例如 age = 15 )作为搜索参数进行搜索。搜索此要求的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

有一种方法可以使它按您想要的方式工作:如果使用DateRangeField,则可以直接为一个范围建立索引(不分解为上限/下限),并运行将达到该范围的查询。

唯一的事情是DateRangeField用于Dates,如果您打算索引Age,则 您需要以某种方式将年龄编码为日期。这很容易,一种简单的方法是:

  1. 选择一个给定的日期作为“开始”
  2. 以年为单位的年龄是X->在上面加上X秒数
  3. 您现在有个约会

显而易见的缺点是,人眼很难读取数据。考虑是否值得。