Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Кто работал со sphinx, помогите разобраться

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nkl
Отправлено: 15 Июня, 2014 - 19:45:48
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Доброго времени суток, господа.

Sphinx поставил, sphinxclient пекл подключил, работает на ура. Осталось только "поработать напильником" так сказать. Собственно в чем у меня возникает запара. Как мне построить индекс из нескольких таблиц, id в которых естественно совпадают. Сейчас мой конфиг выглядит след образом:

CODE (htmlphp):
скопировать код в буфер обмена
  1. source articles {
  2.         type = mysql
  3.         sql_host = localhost
  4.         sql_user = ***
  5.         sql_pass = ***
  6.         sql_db = ***
  7.         sql_port = 3306
  8.         sql_query_pre = SET NAMES utf8
  9.         sql_query = SELECT id, header, text, "article" AS type FROM articles_view
  10.         sql_attr_uint = id
  11.         sql_attr_uint = type
  12.         #sql_query_info = SELECT article_header FROM bs_articles WHERE article_id=$id
  13. }
  14.  
  15. source blogs {
  16.         type = mysql
  17.         sql_host = localhost
  18.         sql_user = ***
  19.         sql_pass = ***
  20.         sql_db = ***
  21.         sql_port = 3306
  22.         sql_query_pre = SET NAMES utf8
  23.         sql_query = SELECT id, header, text, "blog" AS type FROM bs_blog
  24.         sql_attr_uint = id
  25.         sql_attr_uint = type
  26. }
  27.  
  28. source books{
  29.         type = mysql
  30.         sql_host = localhost
  31.         sql_user = ***
  32.         sql_pass = ***
  33.         sql_db = ***
  34.         sql_port = 3306
  35.         sql_query_pre = SET NAMES utf8
  36.         sql_query = SELECT id, header, text, "book" AS type FROM bs_books
  37.         sql_attr_uint = id
  38.         sql_attr_uint = type
  39. }
  40.  
  41. index index {
  42.         source = articles
  43.         source = blogs
  44.         source = books
  45.         path = /var/lib/sphinxsearch/data/index
  46.         morphology = stem_ru
  47.         min_word_len = 1
  48.         charset_type = utf-8
  49. }
  50.  
  51. searchd {
  52.         listen = localhost:9306
  53.         log = /var/log/sphinxsearch/searchd.log
  54.         query_log = /var/log/sphinxsearch/query.log
  55.         pid_file = /var/run/sphinxsearch/searchd.pid
  56.         read_timeout = 5
  57.         max_children = 30
  58.         max_matches = 1000
  59.         seamless_rotate = 1
  60.         preopen_indexes = 0
  61.         unlink_old = 1
  62. }
  63.  

следующим кодом я получаю некий массив результата работы сфинкса:
PHP:
скопировать код в буфер обмена
  1. $cl = new SphinxClient;
  2. $cl->SetServer('localhost', 9306);
  3. $cl->SetMatchMode(SPH_MATCH_ANY);
  4. $cl->SetLimits(0, 10, 10);
  5. $cl->setMaxQueryTime(3);
  6.  
  7. $query_string = 'букмекерская контора';
  8. $result = $cl->query($query_string);
  9. /* START DEBUG */
  10. if (!IN_PRODUCTION) {
  11.         print '<xmp>';
  12.         var_dump($result);
  13.         print '</xmp>';
  14. }
  15. /* END DEBUG */

А вот собственно и результат работы:
Цитата:
array(10) { ["error"]=> string(0) "" ["warning"]=> string(0) "" ["status"]=> int(0) ["fields"]=> array(2) { [0]=> string(6) "header" [1]=> string(4) "text" } ["attrs"]=> array(0) { } ["matches"]=> array(20) { [2]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [5]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [6]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [7]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [8]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [9]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [10]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [11]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [12]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [14]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [15]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [16]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [17]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [18]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [21]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [22]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [401]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [403]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [460]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } [652]=> array(2) { ["weight"]=> int(12) ["attrs"]=> array(0) { } } } ["total"]=> int(100) ["total_found"]=> int(358) ["time"]=> float(0.004) ["words"]=> array(2) { ["букмекерск"]=> array(2) { ["docs"]=> int(312) ["hits"]=> int(547) } ["контор"]=> array(2) { ["docs"]=> int(354) ["hits"]=> int(660) } } }


Я так понимаю мне возвращаются айдишники найденных записей, но какой из них в какой таблице лежит? Как мне получить к этим айдишникам еще и данные или сфинкс занимается только ранжированием айдишников? Однако
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB