Grails:Lucene,Compass Query Builder和日期范围

时间:2011-04-27 19:24:08

标签: grails lucene searchable compass-lucene

我有可搜索的插件与我的grails项目一起工作。我把它编入索引4个不同的表格。不幸的是,每个表都有一个以不同方式命名的日期字段。有些名为createdAt,有些名为publishedOn,等等......

在我的搜索中,我需要从这些字段中获取特定日期范围内的项目。有没有办法做到这一点?我在插件的文档中看到了一个特定的实例,但它没有考虑我必须处理的不同字段名称。

1 个答案:

答案 0 :(得分:3)

您可以配置域类以覆盖或为不同名称的属性提供其他Lucene索引条目。

因此,假设您有一个具有'publishedOn'属性的类,但您希望该属性可以作为'publishedOn'和'createdAt'进行搜索。您可以执行以下操作:

class ADomainClass {
    Date publishedOn

    static searchable = {
       'publishedOn' format:'yyyyMMdd'
       'publishedOn' name: 'createdAt', format 'yyyyMMdd'
    }
}

如果您只想将其作为'createdAt'进行搜索,那么请忽略第一个'可搜索'条目。