2014-06-18 46 views
2

我有一個項目,在我的本地laravel,我想配置elasticsearch就可以了,但是當我配置我的主機此錯誤顯示:「主人不在elasticsearch識別的參數」主機不在elasticsearch公認的參數

我嘗試它,無論如何,如:

$params = array('hosts' => array('host'=>'localhost')); 

$params = array('hosts' => array('host'=>'127.0.0.1','port'=>8080)); 和一些其他的方式

錯誤有一些信息:

foreach ($params as $key => $value) { 
     if (array_search($key, $whitelist) === false) { 
      throw new UnexpectedValueException($key . ' is not a valid parameter'); 
     } 
    } 

回答

1

hosts數組本身不應該被自己鍵入 - 這基本上是錯誤消息說的:密鑰host(和port)不是預期的。

在你的代碼,儘量不host關鍵,就像這樣:

$params = array('hosts' => array('localhost:8080')); 

默認爲localhost:9200。欲瞭解更多詳情,請閱讀official documentation

+0

得到了同樣的問題。它不工作。 – GBRocks

0

像matpop說,「主機」 - 數組本身沒有鍵控。這裏有一個來自es-documentation的例子。

$params = array(); 
$params['hosts'] = array (
    '192.168.1.1:9200',   // IP + Port 
    '192.168.1.2',    // Just IP 
    'mydomain.server.com:9201', // Domain + Port 
    'mydomain2.server.com',  // Just Domain 
    'https://localhost',  // SSL to localhost 
    'https://192.168.1.3:9200' // SSL to IP + Port); 

$client = new Elasticsearch\Client($params);