然而,es的搜索功能并不包含数据库功能,因此需要另外使用数据库来存储和管理数据。MySQL则是一个非常稳定和常用的关系型数据库管理系统(RDBMS),可以方便地与es集成使用。
//示例代码:使用MySQL和es集成查询数据 //连接MySQL数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database'); //构建es搜索条件 $query = [ 'query' =>[ 'match' =>[ 'content' =>'你好' ] ] ]; //使用es进行查询 $esClient = Elasticsearch\ClientBuilder::create()->build(); $searchResponse = $esClient->search($query); //通过查询结果得到MySQL中对应记录的id $ids = array_column($searchResponse['hits']['hits'], '_id'); $sql = "SELECT * FROM `table_name` WHERE `id` IN (" . implode(",", $ids) . ")"; $result = mysqli_query($conn, $sql); //处理MySQL返回结果 while ($row = mysqli_fetch_assoc($result)) { echo $row['content']; }
通过以上示例代码,大家可以看到如何使用MySQL和es集成进行数据查询。其中,es提供了强大的搜索功能帮助大家快速查询需要的数据,而MySQL则提供了稳定和高效的数据存储和管理功能,两者结合可以发挥出更加出色的性能和效果。