Sphinx Search Engine 0.9.7, Ruby Client API 0.3.0

Apr 05

Sphinx Search EngineСвершилось! Мы все ждали обновления Sphinx, и вот наконец Andrew Aksyonoff выпустил версию 0.9.7 своего замечательного поискового движка (для тех, кто не понимает, о чем я говорю: посмотрите мои предыдущие заметки здесь и здесь).

Основные новшества Sphinx включают:

  • separate groups sorting clause in group-by mode
  • support for 1-grams, prefix and infix indexing
  • improved documentation

Теперь о Sphinx Client API для Ruby. В этой версии я решил, что нехорошо иметь разные интерфейсы в разных языка (BuildExcerpts в PHP и build_excerpts в Ruby). Потому код приложений, в которых использовали версии 0.1.0 или 0.2.0 API, необходимо пересмотреть. Детали смотрите в документации.

Изменения в Sphinx Client API для Ruby:

  • Полностью синхронизирован API с версией PHP.
  • Исправлена ошибка с обработкой атрибутов в результатах запроса (спасибо shawn).
  • Исправлена ошибка с округлением временем обработки запроса (спасибо michael).
  • Библиотека покрыта на 100% спецификациями RSpec.

Вы всегда можете загрузить последнюю версию со страницы Sphinx Client API для Ruby.

Если Вы используете Sphinx в приложении на Ruby on Rails, посмотрите плагин acts_as_sphinx.

5 отзывов на 'Sphinx Search Engine 0.9.7, Ruby Client API 0.3.0'

Подписаться на комментарии по RSS или TrackBack на 'Sphinx Search Engine 0.9.7, Ruby Client API 0.3.0'.

1
joost
сказал 13.04.2007 в 9.17

Great! Shouldn’t this version be also on RubyForge? I saw only v0.2.0 there..

BTW. My opinion is that Ruby methods should always be of the form: object.method_call. And not object.MethodCall..
But this is just my humble opinion.

2
сказал 13.04.2007 в 11.15

You are right about ruby code conventions. But it is more simple for us to have identical syntax for all languages. I would add more ruby-like syntax in 0.3.1 (hope on this weekend).

3
joost
сказал 27.04.2007 в 17.50

For those wanting backwards compatibility with set_server methods instead of SetServer. Use this code:

class Sphinx::Client
  def method_missing(m, *args)
    m = m.to_s.camelize
    if self.methods.include?(m)
      eval("#{m}(#{args})")
    else
      raise NoMethodError, "undefined method '#{m}'"
    end
  end
end
4
сказал 27.04.2007 в 17.54

Good point, thank you!

BTW,

eval("#{m}(#{args})")

could be rewritten using

self.send(m, args)
5
сказал 30.08.2007 в 14.50

Hey we just implemented it and are really really happy with it: search query duration has an average of 0,0000s on about 20.000 documents. Thats awesome.

jerk

Оставить отзыв

Вы можете использовать простые теги форматирования HTML (вроде <a>, <ul> and others). Чтобы вставить пример код, используйте <code lang="php">$a = "hello";</code> (поддерживаемые языки: ruby, php, yaml, html, csharp, javascript). Также Вы можете использовать <code>$a = "hello";</code>, синтаксис не будет подсвечен. Если вы не хотите использовать тег <code>, замените символ < на &lt;.

Отправить

 
Copyright © 2005 - 2008, Dmytro Shteflyuk