我正面临使用Lucene查询搜索一对多关系的问题。例如。我们有一个包含许多工作的类成员。在成员域类中我们有
//Member Domain Class
static searchable = {
analyzer "default"
only = ['memberName']
job component: true
}
在求职领域我们有
//Job Domain Class
static searchable = {
analyzer "default"
only = ['title','experience']
}
现在假设我们在Job
中有以下数据
因此,会员1有2年的“经理”经验,4年的“经理”经验。
现在,如果我想搜索拥有4年或更多年经验的“经理”职位的会员,那么我的查询就是
query = “ title:( Manager) AND experience:[4 TO *] ”
searchResults = Member.search(query, params){
}
我没有任何这样的会员,所以它不应该给我任何会员,但它会让我回复会员1,因为它匹配'经理'和4年的'董事'头衔经验。
如何过滤掉此记录?
答案 0 :(得分:3)
现在我们正在寻找工作并寻找会员,而不是通过会员搜索并寻找工作。
def searchResults = Job.search(query,param)
可能有帮助。