我是新手,elasticseach
在向查询中添加过滤器时遇到了一些问题。
我的域类是这样的:
Class A {
String name
A_Status status
static searchable = {
status component: true
}
}
Class AImpl extends A {
}
Class A_Status {
String name
static searchable = {
root : false
only = 'name'
}
}
在我的控制器上,我正在做的查询是:
def res = elasticSearchService.search()
{
bool {
must {
term("status.name": "ACTIVE")
}
}
}
我尝试将searchable
字段更改为AImpl
或 put "searchable = true"
,但结果相同,查询始终为空,它应该得到 4 个结果。
我发现的另一件奇怪的事情是,进行 uri 搜索给了我预期的结果,但正文查询没有。
curl -XGET 'http://localhost:9200/com.sisconline.entities/_search?q=status.name=ACTIVE'
这有 4 个命中。
curl -XPOST 'http://localhost:9200/com.sisconline.entities/_search' -d '{
"query" : {
"term":{ "status.name":"ACTIVE"}
}
}'
这获得 0 次点击。
我正在使用Grails 2.3.4
和elasticsearch plugin 0.0.3.5
。
问候。