ultrasphinx, заметки

ruby on rails, Программизм

Tagged Under :

1. Обращаем внимание на то, что говорит нам сервер при запуске. Если имеется

** ultrasphinx: configuration file not found for “development” environment
** ultrasphinx: please run ‘rake ultrasphinx:configure’
** ultrasphinx: spelling support not available (raspell configuration raised “uninitialized constant Ultrasphinx::Spell::Aspell”)

то соответственно делаем rake ultrasphinx:configure

у меня результат был такой:

Rebuilding configurations for development environment
Available models are User, Keyword, and Classification
Generating SQL

Рестартим сервер, и скорее всего видим:

** ultrasphinx: spelling support not available (raspell configuration raised “uninitialized constant Ultrasphinx::Spell::Aspell”)
** ultrasphinx: spelling support not available (raspell configuration raised “uninitialized constant Ultrasphinx::Spell::Aspell”)

гугль показал такое

цитата:

You just need to install the aspell, spell checking library and raspell, the Ruby interface to aspell. The raspell README has instructions for installing aspell and raspell on both Mac and Ubuntu.

Я пошел по такому пути -
aspell – скачал архив с вышесказанного сайта и установил
raspell – установил через гемы (gem install raspell)

После этих действий при старте сервера уже видим

** ultrasphinx: spelling support not available (raspell configuration raised “No word lists can be found for the language “ap”.”)

Идем сюда и читаем главу про Setup (examples/ap.multi находится в нашем rails проекте)

Запускаем сервер и любуемся:
** ultrasphinx: spelling support enabled

2. Неплохо было бы запустить демон ультрасфинкса
rake ultrasphinx:daemon:start

у меня он не запустился. Идем еще раз читать доки раздел Installation и выясняем, что нужен, как минимум Sphinx. Ставим (я брал отсюда). Обновляем индекс

rake ultrasphinx:index

$ indexer –config ‘/home/vint/artculture/config/ultrasphinx/development.conf’ –all
Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff

using config file ‘/home/vint/artculture/config/ultrasphinx/development.conf’…
indexing index ‘main’…
WARNING: DOCID_MAX document_id, skipping
collected 2336 docs, 3.4 MB
sorted 0.5 Mhits, 100.0% done
total 2336 docs, 3390756 bytes
total 119.252 sec, 28433.57 bytes/sec, 19.59 docs/sec

Пытаемся опять запустить демона
rake ultrasphinx:daemon:start

Sphinx 0.9.8.1-release (r1533)
Copyright (c) 2001-2008, Andrew Aksyonoff

using config file ‘/home/vint/artculture/config/ultrasphinx/development.conf’…
creating server socket on 0.0.0.0:3312
Started successfully

отношения Activ Record

ruby on rails, Программизм

Имена класса и таблицы - имя таблицы БД происходит от имени класса Active Record (во мнежественном числе, т.е. если имя класса User то таблица будет users).

Внешние ключи – должны иметь имя <class>_id

belongs_to – отношение “много к одному”

has_many – один ко многим

has_one – один к одному

has_and_belongs_to_many

ruby, hash

ruby on rails, Программизм

  1. users_hash = {“tom” => “password0″,
  2. “adi” => “password1″,
  3. “aaron” => “password2″ }
  4. # The following line will not add anything to users_hash.
  5. # But will return a hash that has users_hash and
  6. # the new added entry.
  7. users_hash.merge({“sam1″ => “password3″})
  8. #The following line will modify users_hash by
  9. #adding the new entry and return it
  10. users_hash.merge!({“sam2″ => “password3″})
  11. # or you can make it like this
  12. #users_hash.merge!(“sam2″ => ”password3″)
  13. users_hash.each { |key, value|
  14. puts “Key is #{key} and value is #{value}”
  15. }

Реклама: