2017-02-22 54 views
0

Я использую Laravel 5.3, и я пытался использовать sngrl sphinx, следуя этому git: https://github.com/sngrl/sphinxsearch.sngrl sphinx search не может понять, как это работает

Я выполнил все шаги по установке и настройке, но в конце, когда я пытаюсь использовать, я всегда возвращал null (ответ неверен).

Это конфигурация:

<?php 
return array(
    'host' => '127.0.0.1', 
    'port' => 3306, 
    'timeout' => 30, 
    'indexes' => array(
     'my_index_name' => array('table' => 'users', 'column' => 'email'), 
    ), 
    'mysql_server' => array(
     'host' => '127.0.0.1', 
     'port' => 3306 
    ) 
); 

, И это, где я пытаюсь сделать запрос:

public function teste(Request $request) 
{ 
    $sphinx = new SphinxSearch(); 
    $results = $sphinx->search('[email protected]', 'users_index'); 

    dd($results); 

    return back(); 
} 

или что-то вроде этого, чтобы выбрать все

public function teste(Request $request) 
    { 
     $sphinx = new SphinxSearch(); 
     $results = $sphinx->search('', 'users_index'); 

     dd($results); 

     return back(); 
    } 

В результате: http://prntscr.com/ec33mr

Я верю, что мне что-то не хватает, но я не знаю.

Я искал об этом, но я не могу найти информацию об этом, , если кто-нибудь может мне помочь.

Антониу Гонсалвес

+0

* Есть ли у вас определенно есть SearchD демон, работающий на сервере, и прослушивает порт ** 3306 ** * (Также обратите внимание, что порт 3306 обычно используется для сервера mysql, поэтому, если вместо него работает API поиска, это кажется пустым) pt 9312 чаще используется для протокола SphinxAPI. – barryhunter

+0

У меня нет searchd daemon running, потому что я не знал, должен ли я это делать. Я только следил за гидом, которого я связал. Но вы имеете в виду, мне нужно, чтобы api работал, чтобы использовать этот Sphinx. Я думаю, что попробую тогда –

+0

YEs, вам нужен сервер (и с ним некоторые индексы для его поиска!). Сервер - это часть, которая фактически «отвечает» на запрос. PHP-класс - это просто удобная ** обертка **, которая пересылает запросы на сервер Sphinx. Угадайте, что в этой статье предполагается, что у вас уже есть функционирующий сервер! – barryhunter

ответ

0
public function teste(Request $request) 
{ 
    $sphinx = new SphinxSearch(); 
    $results = $sphinx->search('', 'users_index')->get(); 

    dd($results); 

    return back(); 
} 

Пожалуйста, попробуйте это, Ссылка: https://github.com/sngrl/sphinxsearch#usage

+0

Я связал ту же ссылку, что и вы, в начале моего сообщения. Я думаю, что у меня есть моя связь в порядке, но я не знаю, правильно ли я пытаюсь выполнить запрос. –

+0

На линии, где вы получаете результаты, сделайте -> get(). Вы делаете $ sphinx-> search ('', 'users_index'), но не получаете -> get() –

+0

Да, я знаю ... но когда я делаю $ result-> get(), результат будет ложным. Это возвращение означает, что он ничего не нашел и не ошибся. Я попытался проверить erros, но ответ был «» и пустым значением, поэтому я предположил, что у меня не было ошибок, но до сих пор не могу найти значения –

 Смежные вопросы

  • Нет связанных вопросов^_^