我有以下代码(在grails和Searchable Plugin中称为Compass):
class Topic {
String name;
static searchable = true;
}
class Question extends BaseEntity {
String question;
static searchable = true;
static hasMany = [
topics: Topic
]
}
如何使用特定主题ID搜索问题?
类似于Question.search(“topic#id:12”)或Question.search(“topics.id:12”)dosnt工作。
答案 0 :(得分:0)
在问题中查找您的可搜索块,看起来像这样:
static searchable = {
topics component: true
}
并在主题中,如果您不希望主题作为根搜索元素返回
static searchable = [
root: false
]
启动grails并添加一些项目,然后从http://www.getopt.org/luke/下载Luke 并打开您的问题域对象的索引,该索引位于〜/ .grails / projects / projName / searchable-index /'env'/ index / question
如果您检查文档选项卡,您将看到索引中嵌入的术语,如$ / Question / topics
这应该为您提供放入Question.search的路径,例如:
Question.search('$ / Question / topics / id:1')