Дельта-индексирование работает только в консоли

Я запускаю sphinx, думая о sphinx в нашем приложении rails3. Я также использую пассажира на osx 10.6.

Все в порядке, но я просто не могу заставить свои дельта-индексы работать, когда я создаю запись в браузере.

В консоли я получаю следующий вывод, и моя запись отображается в представлении:

Sphinx 2.0.2-dev (r2875)
Copyright (c) 2001-2011, Andrew Aksyonoff
Copyright (c) 2008-2011, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/Users/jennyb/railsprojects/orders/config/development.sphinx.conf'...
indexing index 'company_delta'...
WARNING: collect_hits: mem_limit=0 kb too low, increasing to 14336 kb
collected 2 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 2 docs, 30 bytes
total 0.009 sec, 3291 bytes/sec, 219.44 docs/sec
total 3 reads, 0.000 sec, 0.2 kb/call avg, 0.0 msec/call avg
total 9 writes, 0.000 sec, 0.2 kb/call avg, 0.0 msec/call avg
rotating indices: succesfully sent SIGHUP to searchd (pid=48890).
=> #<Company id: 26, name: "Bobs Your Uncle", number: "123456", address: "204 Some Studio", town: "London", postcode: "W1", phone: "0207123456", createdby: nil, user_id: nil, created_at: "2011-07-18 08:24:26", updated_at: "2011-07-18 08:24:26", notes: nil, vip: nil, delta: true>

Я просмотрел документацию, перестроил свои индексы и т. д. Единственное, что я могу предположить, это проблема с разрешениями. В документах говорится, что searchd должен запускаться от имени того же пользователя, что и www.

Apache2 работает как пользователь www на моем Mac. Я не понимаю, почему я должен изменить это, чтобы работать как пользователь ts?

-- ОБНОВИТЬ --

Сфинкс.рб:

development:
  min_infix_len: 3
  bin_path: "/usr/local/bin"
  version: 2.0.5
  mem_limit: 128M

person Jenny Blunt    schedule 18.07.2011    source источник


Ответы (2)


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

dyld: Library not loaded: libmysqlclient.18.dylib
  Referenced from: /usr/local/bin/indexer
  Reason: image not found

Чтобы решить эту проблему с загрузкой mysql, я следовал следуя предложению и запустил это:

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/indexer

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/bin/search

Теперь, создав запись в браузере, я вижу, что моя дельта-индексация снова работает. ууууу!

Надеюсь, это поможет кому-то там...

person Jenny Blunt    schedule 20.07.2011

Настройка mem_limit как 0 не может использоваться. можете ли вы настроить конфигурацию think_sphinx в соответствии с официальной документацией?

разработка: mem_limit: 128M

person Anatoly    schedule 18.07.2011
comment
Привет @mikhailov, ограничение памяти, похоже, не влияет на тот факт, что дельта-индексация работает только в консоли... - person Jenny Blunt; 18.07.2011
comment
Привет - добавил к начальному вопросу. Извините, что не включил. - person Jenny Blunt; 18.07.2011
comment
Вы пробовали стабильную версию Sphinx? - person Anatoly; 18.07.2011
comment
пробовал с 2.0.3 согласно документации, так как я на Rails3. До сих пор не работает :( - person Jenny Blunt; 18.07.2011
comment
Вы установили ветку think_sphinx rails3? - person Anatoly; 18.07.2011