elasticsearch,elastica,Php,elasticsearch,Elastica" /> elasticsearch,elastica,Php,elasticsearch,Elastica" />

运行elasticsearch查询的php代码

运行elasticsearch查询的php代码,php,elasticsearch,elastica,Php,elasticsearch,Elastica,我是elasticsearch的新手。我想用elasticsearch搜索mysql数据库。我想要并得到结果。我甚至为此安装了elastica。但是我没有从这个代码中得到任何结果: <?php require_once '/home/babloo/vendor/autoload.php'; $client = new Elastica_Client(); $index = $client->getIndex('jdbc'); $index->getType('jdbc');

我是elasticsearch的新手。我想用elasticsearch搜索mysql数据库。我想要并得到结果。我甚至为此安装了elastica。但是我没有从这个代码中得到任何结果:

<?php
 require_once '/home/babloo/vendor/autoload.php';

$client = new Elastica_Client();
$index = $client->getIndex('jdbc');
$index->getType('jdbc');

$query_string = new Elastica_Query_QueryString('ashish');
$query_string->setFields(array('name'));    
$query = new Elastica_Query($query_string);

$index->refresh();
$searchResults = $index->search($query);
?>

哪里出了问题?

改进语法并遵循以下步骤: 1不设置错误报告

   error_reporting(E_ALL);
   ini_set('display_errors', TRUE);
   ini_set('display_startup_errors', TRUE);
   session_start();
2需要“vendor/autoload.php”;使用composer安装

3创建对象

   $client = new Elasticsearch\Client();
   $elasticaClient = new Elastica\Client();
   $reque=new Elastica\Request($elasticaClient);
4程序示例

$index = $elasticaClient->getIndex('test');
$index->create(array(), true);
$type = $index->getType('test');
$type->addDocument(new Elastica\Document(1, array('username' => 'ruflin')));
$index->refresh();

$query = array(
    'query' => array(
        'query_string' => array(
            'query' => 'ruflin',
        )
    )
);
 //$typee =$reque->GET;
$path = $index->getName() . '/' . $type->getName() . '/_search';

$response = $elasticaClient->request($path, $reque::GET, $query);
$responseArray = $response->getData();

echo "<pre>";
print_r($responseArray);
参考链接

创作者 b
H

我看不到你在连接数据库,这是在舞台外的某个地方完成的吗?@DevZer0:不。。。怎么办?我不知道我自己,我检查了文件,它很生锈。我现在正在下载elastica,如果我有机会查看,我会回复你。你不能使用elasticsearch搜索mySQL数据库。把它想象成另一个数据库,但它是用来搜索的。您需要首先将数据从mySQL导入elasticsearch,然后将查询发送到elasticsearch服务器。在搜索导入数据的方法时,我建议首先使用命令行cURL语句。