弹性搜索转换php

问题描述 投票:0回答:1

我目前正在致力于将 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 中完成此操作的帮助或示例将不胜感激。谢谢!

mysql elasticsearch
1个回答
2
投票

它会是这样的:

GET /users/_search?pretty=true
{
  "size": 50,
  "query": {
    "bool": {
      "should": [
        {
          "terms": {
            "username": "john"
          }
        },
        {
          "terms": {
            "full_name": "full_name"
          }
        }
      ],
      "must_not": [
        {
          "term": {
            "id": "4"
          }
        }
      ]
    }
 }
© www.soinside.com 2019 - 2024. All rights reserved.