在以下文档中,我想查询所有' name'包含' bill'。
的字段use std::ffi::CString;
use std::mem;
#[no_mangle]
pub extern fn query() -> *const i8 {
let s = CString::new("Hello!").unwrap();
let ptr = s.as_ptr();
mem::forget(s);
return ptr;
}
以下查询正确返回文档:
PUT /my_index/blogpost/2
{
"vendor": {
"name": "bill"
},
"user": {
"name": "bob"
}
}
但是要搜索“bob'而不是退回文件。
我哪里错了?
答案 0 :(得分:1)
您需要指定要搜索的字段的完整路径:
POST /my_index/blogpost/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"user.name": "bob"
}
}
]
}
}
}
以下是我用于测试的一些代码:
http://sense.qbox.io/gist/74b124fd90aa3c7d422b3ef13933ce419b44714e