2015-09-07 2 views
0

Я искал учебники для настройки поиска sphinx, и у меня есть тестовая база данных. Однако у меня возникают проблемы с работой моей собственной базы данных.Настройка поиска сфинксов

sphinx.conf

source src1 
{ 
    type   = mysql 

    sql_host  = localhost 
    sql_user  = root 
    sql_pass  = MyPassword 
    sql_db  = MyDatabase 
    sql_port  = 3306 

    sql_query  = \ 
    SELECT listing_id, title, description, image_id \ 
    FROM listings 

    sql_attr_uint  = listing_id 

    sql_query_info  = SELECT listing_id, title, description, image_id  FROM listings 

} 
index test1 
{ 
    source   = src1 
    path    = /var/lib/sphinxsearch/data/test1 
    docinfo   = extern 
    charset_type  = sbcs 
} 
searchd 
{ 
    listen   = 9312 
    log    = /var/log/sphinxsearch/searchd.log 

Однако, когда я пытаюсь запустить:

sudo indexer --all --rotate 

Выход в шпатлевка:

using config file '/etc/sphinxsearch/sphinx.conf'... 
indexing index 'test1'... 
WARNING: attribute 'listing_id' not found - IGNORING 
WARNING: Attribute count is 0: switching to none docinfo 
WARNING: collect_hits: mem_limit=0 kb too low, increasing to 24576 kb 
collected 3 docs, 0.0 MB 
sorted 0.0 Mhits, 100.0% done 
total 3 docs, 49 bytes 
total 0.002 sec, 16740 bytes/sec, 1024.94 docs/sec 
total 2 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg 
total 6 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg 
rotating indices: succesfully sent SIGHUP to searchd (pid=911) 

Однако, когда я пытаюсь и запустить «поиск df ", например, я получаю:

Sphinx 2.0.4-id64-release (r3135) 
Copyright (c) 2001-2012, Andrew Aksyonoff 
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com) 

using config file '/etc/sphinxsearch/sphinx.conf'... 
FATAL: 'sql_query_info' value must contain '$id' 

Я запускаю поиск Sphinx на Ubuntu 14.04, используя учетную запись «пользователь», которая является частью файла sudoers.

Я потерял рассудок с этим, так что было бы полезно помочь кому-то.

Благодаря

ответ

0

Ваш sql_query_info является недействительным. Он должен содержать $id, как говорится в сообщении.

Однако, очень рекомендую не используя search tool - its broken. Пропусти это. (статьи, рекомендующие его использование, устарели) - sql_query_info используется только search.

Справа на старте searchd и используйте test.php, если у вас еще нет приложения. Использование test.php для проверки вашего индекса намного лучше.

+0

Здравствуйте, спасибо за ответ. Приятно слышать, однако как я могу сделать PHP-скрипт, чтобы показать индексированный - не уверен, как использовать PHP для этого. Я смотрел онлайн, однако результаты кажутся устаревшими или неопределенными. – PublicDisplayName

+0

Используйте test.php :) https://www.google.com/search?q=sphinx+example+api+%22test.php%22 – barryhunter

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