我目前正在致力于将 MySQL 查询迁移到 PHP 中的 Elasticsearch。原始MySQL查询如下:
SELECT id,username,full_name
FROM users
WHERE id<>4 AND (username LIKE %john% OR full_name LIKE %full_name%)
LIMIT 50 OFFSET 0
现在,我需要帮助使用 PHP 将此 MySQL 查询转换为 Elasticsearch。我专门寻找有关如何构建 Elasticsearch 查询以实现相同的过滤和分页功能的指导。
任何演示如何使用 PHP 在 Elasticsearch 中完成此操作的帮助或示例将不胜感激。谢谢!
它会是这样的:
GET /users/_search?pretty=true
{
"size": 50,
"query": {
"bool": {
"should": [
{
"terms": {
"username": "john"
}
},
{
"terms": {
"full_name": "full_name"
}
}
],
"must_not": [
{
"term": {
"id": "4"
}
}
]
}
}