我正在使用 Grails-ElasticSearch 插件 (0.0.2.5)。我想在我的域实例被 ElasticSearch 索引之前添加一个约束。
例子:- 我有一个带有字段“状态”的域类 A,我想在数据库和 ElasticSearch 之间添加一个抽象,即所有实例都应该填充到数据库中,但是具有 ACTIVE 状态的实例应该发送到 elasticsearch。
请建议这是否可行?
谢谢, 卡兰
最佳答案
最简单的方法是将所有记录添加到索引中,然后使用像 term("status","active") 这样的过滤器使用 Filtered Query 进行查询。由于过滤查询只是在计算分数之前清除所有不匹配的结果,因此它不会对性能产生重大影响。 稍微复杂一点的方法是 fork repo 并添加特定的拦截器属性。
关于Grails-ElasticSearch 插件 : Conditional Indexing of domain instances,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24177039/