Grails ElasticSearch映射继承的域类
假设我们有三个Grails域类,如下所示:Grails ElasticSearch映射继承的域类,grails,
elasticsearch,searchable,Grails,
elasticsearch,Searchable,假设我们有三个Grails域类,如下所示: class Person { String name static searchable = true } class Boss extends Person { } class Employee extends Person { } 然后,我们创建/持久化一个Boss和一个Employee实例: def myBoss = new Boss(name:"Boss") myBoss.save() def myEmployee = new
class Person {
String name
static searchable = true
}
class Boss extends Person { }
class Employee extends Person { }
然后,我们创建/持久化一个Boss和一个Employee实例:
def myBoss = new Boss(name:"Boss")
myBoss.save()
def myEmployee = new Employee(name:"Employee")
myEmployee.save()
默认情况下,ElasticSearch插件似乎会将这些实例索引为typeBoss
和Employee
,而不是typePerson
考虑到只有一个继承字段是可搜索的,有没有办法将ElasticSearch映射更改为Person
,而不是Boss
和Employee
(不使用低级API)
这将允许我们使用一个查询按姓名搜索所有
人员
,而不是对老板
和员工
进行两个单独的查询。您解决了问题吗?索引中是否支持继承?我现在也面临着同样的问题不,我从来没想过要解决这个问题。最后,我简单地搜索了两个索引。