我正在寻找所有在数据库中拥有某种电子邮件的用户:
'user' :
{
'properties':
{
'user_name': { 'type': 'string', 'index' : 'not_analyzed' },
'about': { 'type': 'object' },
}
}
about 字段是一个 JSON 对象,可能如下所示:
{"nickname":"bobby McBob", "contact":"bobmcbob@gmail.com", "hobbies":"tennis"}
但没有预定的结构。
我想以符合@ .com 模式的方式找到所有拥有字符串的用户,希望这将返回所有拥有电子邮件的用户。
我该怎么做呢?
甚至是一个简单的查询,旨在查找 gmail,例如
curl -X GET 'http://localhost:9200/index_name/user/_search' -d '{"query":{"match":{"_all":"gmail.com"}}}'
不起作用。也许我应该在索引时用不同的分析器分析对象“关于”?分离/标记它?
我应该使用不同的查询吗?
我该怎么做呢?