Как стать автором
Обновить
402
0
Andrew Aksyonoff @shodan

Пользователь

Отправить сообщение
Не.
Своя реализация протокола + начинаем уметь SQL
www.sphinxsearch.com/docs/current.html#sphinxql
Засылайте патч :)
Однословные есть примерно с год.
Многословные (N-to-1 точнее) умеет начиная с 0.9.9-rc1.
sphinxsearch.com/docs/current.html#conf-wordforms
sphinx-0.9.9-rc2/misc/suggest
Писать о чем конкретно? :)
Просто «про поиск» я написать не смогу!
> Написано ли об этом что-нибудь конкретно в документации?

Вообще зависит от деталей задачи - насколько динамично меняются права, как конкретно организована система прав, насколько большие FT result set итп.

Для начала см. про атрибуты и фильтрацию http://sphinxsearch.com/doc.html#api-fun… - для несложных случаев этого может хватить - скажем сохраняем какую-нибудь группу документов в атрибут и передаем набор доступных пользователю групп фильтром.
> какой вы упрямый :)

Отчего же? Переубедить меня легко - только надо сначала правильно понять, а затем убедительно продемонстрировать неправоту! :)

> но бенчмарк нужен не для моих или ваших пользователей, ... он нужен для пользователей, которые сомневаются и хотят обосновано выбрать

Так точно. Именно поэтому нет смысла бенчмаркать махонькие базы.

На мелких объемах (см. 100K записей, 10M данных) - плевать на бенчмарки! Важна будет только функциональность. Потому что *любая* система покажет приемлемую скорость. Тем самым 95% плевать, за 1 ms или 100 ms будет работать поиск по 100K rows, если он работает как надо.

Бенчмарки нужны - когда начинаются вопросы по скорости, а они начинаются - когда данных много.

Поэтому мне интересно бенчмаркать 10 гигабайт, но совсем неинтересно 10 мегабайт.
> бенчмаркать лучше не гигантские базы, которых у пользователей никогда не будет,

:)) Эта, у моих пользователей гигабайты в среднем как раз далеко не редкость.

Иначе скорее всего успешно работает что-нибудь другое, и нужды мигрировать на Сфинкс никакой.

Поэтому сильно интереснее бенчмаркать 10 гигабайт, чем 10 мегабайт.
> так а сколько всего документов в индексе?

1M в этом - это не особо важно тк. производительность слабо зависит от числа документов в целом.

> все же как-то странно у вас: один и тот же запрос, один и тот же индекс, а матчей разное количество. так разве бывает? :)

Конечно бывает - это тестовый индекс и я его тупо перестраиваю с нужным количеством документов :) Это ж недолго ж совсем.
> вы на порядок уменьшили result set — это нечестно.

Блин, я тупо обсчитался. Непривычная нотация эти ваши 10^5, показалось, что 60K результатов, а не 600K. Вот пожалуйста -

Z:\work\sphinx\rel098>bin\release\search -i lj -b the -s published,desc
...
index 'lj': query 'the ': returned 1000 matches of 629132 total in 0.111 sec
sphinx-bench at (guess what?) sphinxsearch dot com

Пишите, я подпишу.
> Краткий список возможностей

Может, давайте уже в почту перейдем? :)
В окошко размером 3 строки откровенно неудобно вбивать сочинения на тему ;)
Z:\work\sphinx\rel098>bin\release\search -i lj -b the -s published,desc
Sphinx 0.9.8-release (r1371)
...
index 'lj': query 'the ': returned 1000 matches of 58129 total in 0.023 sec
Английская годится вполне.
Только надо бы всю wiki разметку грохнуть, а это долгий и нудный препроцесс.

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

И, кстати, может ужо заведем список рассылки и туда?
В комментариях на хабре, мнэээ, не самое удобное место для общения.
(Ненавижу, censored, деревянную структуру.)
> http://xapian.org/docs/sorting.html

Ага, вижу секцию про Values, спасибо.

> удаленный доступ - http://xapian.org/docs/remote.html

Это я нашел.

Но пока не нашел ни описания, как оно работает - ни кода, который таскал бы по сети именно результаты поиска, а не сами списки документов и позиций. Надо копать глубже..

> а вообще я не говорю что Сфинкс плохой, ему есть еще куда расти;)

Я процитирую дословно:
"Xapian (xapian.org) умеет и всё то что умеет sphinx и еще много всего"

Это категорически неправда.
Есть штуки, которые умеет Sphinx, но не умеет Xapian.
И наоборот, есть штуки, которые умеет Xapian, и не умеет Sphinx.

Разное они умеют, просто разное.
> Там же и с бенчмарками можно разобраться. С вами было бы интересно лично побеседовать.

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

> Ну а лист сравнения фич я бы все-таки сделал,

Я разве возражаю? :)
Давайте попробуем сделать.

Авось, сумеем перейти от намекающих неправильное формулировов "а вот в XXX все хорошо с YYY" к конкретным словам "с фичой YYY в проекте XXX вот так, в ZZZ вот эдак"
Вообще я имел в виду - поучаствовать в написании сравнительного анализа. ;) Во избежание всяких неожиданных выводов.

Бенчмаркать, кстати, более интересно не махонькие базы по 200 мег, а что-нибудь что таки не влезает в память целиком.
> value сейчас доделываются, есть даты, числа,

Я не сумел сходу найти в документации. Подскажите, куда копать?

> Удаленное подключение это поиск удаленно, оно данные не передает по которым надо искать)

Опять же, куда копать в документации?
В исходниках (backends/remote) я с наскоку нашел всякие class NetworkTermList/NetworkPostList, сразу стало страшно ;)

> а ранжирование это стандартное ранжирование,

В документации написано про BM25.
Это как раз которое не учитывет позиции слов совсем.
Да классический инвертированный файл там.
> в tsearch это есть с самого начала, потому что это СУБД :)

Атрибуты на стороне FT движка и на стороне общего вида СУБД это две большие разницы, увы. Иначе я бы просто не стал у себя делать атрибуты.

Забенчмаркайте боевой запрос, который возвращает 1M полнотекстовых матчей, с сортировкой по атрибуту. Всё станет наглядно.

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность