ElasticSearch php sdk简单查询不工作
这是我在这里的第一个问题,我对通过php sdk进行的简单elasticsearch查询有一个问题,json示例:ElasticSearch php sdk简单查询不工作,php,
elasticsearch,sdk,Php,
elasticsearch,Sdk,这是我在这里的第一个问题,我对通过php sdk进行的简单elasticsearch查询有一个问题,json示例: { "_id": "event:5569fbbdddc85", "_type": "event", "videos": {}, "status": "published", "owner": { "firstname": "Patricio", "lastname": "", "profilepicture": "http://pbs.twimg.com/profile
{
"_id": "event:5569fbbdddc85",
"_type": "event",
"videos": {},
"status": "published",
"owner": {
"firstname": "Patricio",
"lastname": "",
"profilepicture": "http://pbs.twimg.com/profile_images/581193413426544640/Q5aqMmPk_normal.jpg",
"_id": "twitter:2383339241",
"_type": "user",
"updated": 1433008088365,
"created": 1428439794713
},
"max_age": "18",
"min_age": "18",
"max_invites": "5",
"min_invites": "2",
"updated": 1433009134942,
"created": 1433009134942
}
我需要做的是按所有者筛选。\u id,我正在这样做:
$params['index'] = 'default';
$params['type'] = 'event';
$params['size'] = $limit;
$params['from'] = $from;
$params['body']['query']['match']['owner._id'] = $userId;
// elasticsearch search query
$res = \Es::search($params);
结果是没有过滤器。数据库中的所有事件都将返回
我完全按照文档进行操作,但是没有结果,显然我遗漏了一些东西
谢谢 您需要您的
\u id
字段不进行分析
或使用关键字
分析器进行分析,以便在ES索引时保持不变
另外,对于像您这样的查询,对于\u id
,最好使用类型的过滤器。我不是php开发人员,但从ES的角度来看,它应该是这样的:
"_id": {
"type": "string",
"index": "not_analyzed"
}
对于\u id
,查询应为以下形式:
"query": {
"filtered": {
"filter": {
"term": {
"owner._id": "twitter:2383339242"
}
}
}
}