All streams
Search
Write a publication
Pull to refresh
0
Send message
Rust разрабатывался задолго до того


Лейте в уши дальше.
Rust уже под крылом Мозиллы пережил кучу серьезных изменений.
Скорость работы — самая что ни на есть рядовая для любой зрелой системы полнотекстового поиска.

Другое дело, что в большинстве случаев используется банальный MySQL и даже полнотекстовый поиск там программисты не всегда умеют задействовать.
А Stylo на Rust сделался с первого раза.


Вы так легко пишете «с первого раза»… а ведь целый Rust был создан.

предпринимались неоднократно


Попытки уровня «Взять и переписать с нуля»?
А вот за описание как у вас устроено — отдельное спасибо.

но существенно быстрее всех остальных


Еще раз обращаю внимание: что если речь не идет о кластере — то никаких преимуществ ElasticSearch вы наблюдать не сможете. Эластик показывает чудеса именно в кластере.

Оно как-то там само внутри работает, индекс распределяет и перераспределяет — автоматически и хорошо.

Т.е. sphinx 2.x не умеет хранить и отдавать документы целиком, а грубо говоря, может отдавать только ID документов.


Sphinx умел хранить сами документы еще лет 5 назад, когда я им пользовался.
Поэтому преимущество Reindexer на этой задаче такое — он работает, а bleve нет.


Оставим Bleve, все же это embedded-решение.

То есть преимущества Reindexer — в быстром обновлении поискового индекса большими массивами данных?

однако если сравнивать с эластик и co, у нас скорость поиска в 10 раз выше, при ± сравнимом качестве.


Если вы сравнивали скорость с Elastic — то какой был кластер?

Без кластера смысла в этом сравнении нет, так как именно отличное управление индексом в кластере и есть самый главный плюс Elastic, из чего и следуют другие его особенности — возможность работы с огромными массивами данных, устойчивость к выходу из строя отдельных серверов кластера.

На одиночной машине Elastic и не будет самым быстрым. Не для этого он создавался.

И еще один вопрос:

А как вы получили в 10 раз большую производительность, чем у Sphinx? Имхо, это невозможно, если не подходить в данным искусственно.
Можете пояснить фразу «примитивный алгоритм»


Полнотекстовый поиск — это очень просто:

1) Делим текст на слова. Выбрасываем слова, не несущие самостоятельного смысла (например «чтобы», «как», «но» и т.п.). Это же просто?
2) Прогоняем слова через алгоритм стемминга, например, такой snowball.tartarus.org/algorithms/russian/stemmer.html и получаем т.н. «термы». Как вы видите, алгоритм прост.
3) По каждой терме индекс типа такого roaringbitmap.org в котором отражаем вхождение терм в тексты. Ну тут немного похитрее, но тоже ничего гениального.
4) Записываем полученный индекс в банальную СУБД типа key-value
5) При поиске ранжируем с ипользованием ru.wikipedia.org/wiki/Okapi_BM25

И общедоступные полнотекстовые движки — просто вариации вышеприведенного алгоритма.

У кого-то по умолчанию игнорируются и выбрасываются на этап 1) одни слова, у кого-то другие.

У кого-то используется один алгоритм стемминга, а у кого-то другой.

Вот в той части алгоритма, что работает с bitmap-индексов и key-value (этап номер 3) — отличий больше. Скажем, у ElasticSearch индекс автоматически размазывается по кластеру.

Возможно и использование других функций ранжирования.

В развитых движках все эти вещи можно подстроить, предусмотрено множество возможностей для конфигурирования. Сравнивать столько гибко конфигурируемые системы по тому, что по умолчанию идет из коробки — некорректно.

Но суть от этого не меняется — весь поиск это:

а) Ищем в key-value
б) Затем просматриваем bitmap

И если качество поиска еще может отличаться (настроек-то уйма), но вот скорость… Для того, чтобы утверждать
у нас скорость поиска в 10 раз выше, при ± сравнимом качестве

нужно предложить миру совершенно иной алгоритм.

Если про Elastic я еще могу согласиться — поисковый индекс в кластере все же не всегда способствует ускорению одиночного поиска.

Но насчет того — с чего Reindexer в 10 раз быстрее Sphinx, который заточен именно на скорость?

С качеством поиска не все так просто:
youtu.be/wCGBTjHikwA

Потому и интересно — ведь если устранены недостатки полнотекстовых поисков — то в основе должен лежать алгоритм, который вполне потянет на докторскую диссертацию.
Вручную — затруднительно и дорого. Только для серьезных случаев, да.

Но автоматически — а речь то идет об автоматической идентификации — куда как проще.

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

Если вы посмотрите на ваших соседей в кафе — большинство пьют чай-кофе, кто с ноутбуками — лениво тыкают мышкой.

Тех, кто что то набирает — исчезающе мало.
Простите конечно, но в свете последних событий эта фраза не звучит убедительно.


Напротив.
В свете последний событий — вы имеете ввиду Телеграм.
Телеграм недоступен через суд — потому и события эти.
По моим тестам в bleve не влезет и 10% habrhabra — закончится RAM.


Сколько было RAM?
Какой backend использовали для Bleve?

А как вы себя позицируете?
То вы лучше кластерного ElasticSearch, то вы лучше заточенного на скорость Sphinx, то вы лучше embedded-библиотеки Bleve?

Можно этот момент поподробнее?
Это большая проблема, например, ребята из ivi в итоге пожертвовали производительностью и перешли со sphinx на elastic.


Как это «нет стораджа»?
Сфинкс вполне себе законченное решение. А не просто библиотека для реализации поиска как к примеру Lucene

Вы об этом их докладе?
habrahabr.ru/post/354034/#comment_10769824

Насколько я понял — дело в размерах данных и требованиях надежности/расширяемости у ivi.
Индекс Сфинкса просто перестал умещаться на 1 сервер и никаких решений по разбиению индекса Сфинкс не предлагает.

Поэтому ivi и перешла на Elastic. И прекрасно осознавала почему именно им приходится жертвовать производительностью.

А так, да мы конечно не изобрели какую то инопланетную технологию, однако если сравнивать с эластик и co, у нас скорость поиска в 10 раз выше, при ± сравнимом качестве.


Простите, в 10 раз?
За счет чего?
Что там такого можно придумать в примитивном алгоритме?
Ну разве что весь индекс в оперативку запихивать, но это вступает в противоречие с докладом ivi. А вы позицируете себя как решение, лучше Эластика, да?
однако они либо работают медленно — например эластик


Тут надо понимать — Эластик это кластерная система. Потому его не очень быстрая работа закономерна.
Почему ivi перешел со Sphinx на Elasticsearch / Евгений Россинский (ivi)

И если вам кластер не нужен — вряд ли стоит заморачиваться с Эластиком.

А вот если ваши данные не вмещаются на одну машину — Эластик разрулит в кластере на высшем уровне.

Если говорить, про bleve — я полгода назад его пробовал. Опыты закончились тем, что он вставлял 10к записей по 1кб примерно 5 минут, а попытка вставить 100к записей закончилась OOM на машине с 16GB ОЗУ. Возможно сейчас что-то изменилось.


То есть преимущества Reindexer — в быстром обновлении поискового индекса большими массивами данных?

Преимущество — в сочетании функциональности и скорости работы. Бесспорно, есть ряд существующих решений, однако они либо работают медленно — например эластик, либо плохо реализуют «fuzzy» поиск с опечатками и словоформами, либо не имею своего хранилища.


Все на так просто.

Андрей Аксенов «Выбираем поисковик умом головы»
Highload. Почему оно не находится! / Андрей Аксенов (Sphinx)


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

У вас же нет там ИИ?
Да, индексирует Bleve не очень быстро. Зато функция поиска по уже проиндексированному — быстра.

А SphinxSearch (или его форк — Мантикора)?

Уж в чем-чем, а в отсутствии скорости их обвинить нельзя.

Как писал как-то на Хабре автор проекта Сфинкс, что скорость для них настолько важна, что если ошибка позволяет не падать, то они ее предпочитают игнорировать — все ради скорости.

Про опечатки — и Сфинкс и Bleve и Elastic — оставляют эти вещи на усмотрение конкретного пользователя инструмента.

Уж очень индивидуальна настройка на конкретных данных.

Дело инструмента — предоставить возможности для подстройки. А подстраивать его под конкретные данные — нужно на месте.

А вот лицо не поменяешь.


Некоторое время назад (вроде лет 7), когда в Великобритании стали массово ставить видеонаблюдение и появились системы распознавания лиц в толпе —

возникла мода раскрашивать лицо и носить одежду прикрывающую лицо.

но сейчас эта мода куда-то делась.

привыкли наверное к видеослежке.
Это то, что я меньше всего ожидал увидеть от «сервисного аккаунта Телеграм». Дуров явно провоцирует власть на дальнейшие действия.


Вывод:

Собственно российская аудитория Дурову не нужна (да и раньше было понятно, когда интерфейса на русском языке в программе, сделанной российскими программистами, долго-долго не было), как он сам признал — всего 5%.

А повеселиться, попиариться, прочувстовать как он может влиять — это пожалуйста.

И с учетом грядущей (уже практически состоявшейся) криптовалюты Дурова — очень хороший пиар.

Полагаю, что Телеграмм в конце концов просто перестанет играть в кошки-мышки с РКН, просто когда Дурову это надоест или пиар по его мнению будет достаточным.
Что вы пытаетесь доказать? Да, сейчас не все берут камеры. Но возможность есть. Без очередей. Без работы по блату. Без какого-либо ожидания, вот прям щас.


Мне не нравится изречение, что в СССР кроме военки и недоедания больше ничего не было.

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

Кино, даже документальное — снимали совсем другими камерами, не этими хобби-аппаратами, а более серьезными. И да, тоже производства СССР.

Если вы там не жили — то вы пустотреп, перевираете с чужих слов.

А то что в современности есть — не нужно сравнивать. Тогда был другой уровень техники.

Неожиданно:
И привычный нам интернет и сотовые телефоны — стали доступными только в конце прошлого века. А общедоступными — уже в этом веке.

СССР прекратил свое существование — намного раньше.

Тогда была совсем другая техника. Не нужно сравнивать с простой в использовании техникой — что сейчас лежит на прилавках.

То, что сейчас каждый может наснимать на смартфоне видео, то что стоит это оборудование сравнительно небольшие деньги — просто несколько витков в развитии техники прошло с тех пор.

Тогда — это было скорее экзотикой и недешевым оборудованием. Глупо их в лоб сравнивать — современные видеокамеры и тогдашние аппараты.
сказали только двое


Не то место заметили.

Важный момент: технически подкованные родители. У меня и у деда и у отца фотоаппаратура была.

Проявка кинопленки в 5 растворах + операция «засветки» (и это только для черно-белой пленки) + монтаж — это вам не хухры-мухры.

Недавний бум коммерческих фотографов, когда всякая девочка с зеркалкой уже мнит себя мэтром фотографии вызван прежде всего тем, что процесс получения изображения облегчился до невозможности. И самой сложной процедурой осталось только — копирование файлов.

До того, когда процесс был замороченным, когда нужно проявлять, печатать — тогда и не лез в коммерческое фото каждый не нашедший себе нормальную работу, где нужна голова и руки.

С кино — та же аналогия. На тот момент это было нечто высокотехнологичное, недоступное пониманию большинства.

Потому, полагаю, что даже если кинокамеры стоили как Смена-8М и лежали в каждом втором магазине — вряд ли они были бы хотя бы у каждого десятого.

Со Сменами, ФЭДами, Зорькими, Зенитами — не было особых проблем достать.

А все то же — далеко не у всех (хотя у многих) есть лично сделанные (не друзьями не в фотоателье) семейные фото.

С кино — все куда как сложнее.
Потому что в Китае привлекательная инвестиционная атмосфера


Ну-ну.
По защите-то инвестиций — в Китае все грустно.
m.habrahabr.ru/company/iticapital/blog/234971
Предыдущие проблемы со структуройV.I.E.иллюстрируют это. Некоторое количество китайских компаний, которые котируются на бирже США, используя такую структуру, потеряли контроль над своими китайскими подразделениями. В 2008 году, управление над дочерним предприятием Agria Corporation в Китае захватил недовольный исполнительный директор. Компания смогла вернуть свои активы только тогда, когда исполнительному директору была уплачена дополнительная компенсация.

Поскольку китайские активы часто находятся в руках главного исполнительного директора или основателя, разногласия с исполнительным директором могут стать для компании фатальными. В случае с китайской образовательной фирмой ChinaCast американские акционеры взбунтовались и захватили правление компании, котируемой на бирже США. Но вкладчики остались ни с чем, когда прежние руководители ChinaCastпросто перевели активы компании на себя.


«Атмосфера» привлекательна тем, что реальную атмосферу, которой дышат люди, принесли в жертву индустриализации.

Мне доводилось жить в Китае полгода, дышал, к сожалению, этим.

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

Но это не «инвестиционный климат хороший», а «производственный климат хороший». Инвестор как раз в Китае рискует.

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


Вы в пылу спора вообще глупость пишете уже.
Кому интересно отжимать фирму без прибыли пока?
Практически любой может её купить вот прямо сейчас, в магазине. Особо нищие могут воспользоваться кредитом.


Да не надо теоретизировать — могут в кредит или не могут.
Фактически — не покупают все подряд. Это весьма специфическое хобби.

И да, мои родители зашибали деньгу на Крайнем Севере, так что цена камеры не была проблемой.

Полагаю, не у все были такие финансовые возможности.

Да и технические навыки — проявление кинопленки это вам не просто поменять флешку в видеокамере да на компьютер скопировать.
Я вот не уверен. У меня есть смутное ощущение что там был какой-то шильдик типа ГДР или что-то вроде.


Кварц (лат. Quarz) — название семейства узкоплёночных (8-мм) любительских киносъёмочных аппаратов (кинокамер)

выпускавшихся в 1960-е — 1980-е годы на Красногорском механическом заводе.

Information

Rating
Does not participate
Registered
Activity