Доступен (https://kronuz.io/Xapiand/news/2019/02/11/xapiand-0-9-0-rele.../) выпуск поискового сервера Xapiand 0.9 (https://kronuz.io/Xapiand/), предназначенного для хранения, индексации и поиска большой коллекции документов. Сервер является надстройкой над библиотекой для создания поисковых систем Xapian (https://xapian.org/). Для асинхронной обработки запросов применяется библиотека libev (http://software.schmorp.de/pkg/libev.html). Код Xapiand написан на C++ и поставляется (https://github.com/Kronuz/Xapiand) под лицензией MIT. Для упрощения развёртывания предоставляется готовый образ для системы Docker (dubalu/xapiand).
Обращение к серверу производится через HTTP RESTful API. Документы могут представлять собой любые данные в форматах JSON или MessagePack (https://msgpack.org/index.html). Определение схемы хранения не требуется, выборка осуществляется при помощи полнотекстовых поисковых запросов. Поддерживается создание специализированных индексов для определённых типов данных и прикрепление более одного индекса. В том числе имеется встроенная поддержка индексации геопространственных данных, позволяющая комбинировать данные о местоположении с операциями полнотекстового поиска. Поддерживаются различные форматы хранения координат и иерархические пространственные индексы HTM (https://www.noao.edu/noao/staff/yao/sdss_papers/kunszt.pdf) (Hierarchical Triangular Mesh).Сервер отличается высокой производительностью, низким потреблением памяти и возможностью создания распределённых и отказоустойчивых систем, в которых индексы разделены (на каждом узле своя часть индекса и в выполнение запроса вовлекается несколько узлов) или реплицированы (на каждом узле копия полного индекса и возможна балансировка нагрузки) на несколько узлов кластера. Заявляется производительность операций поиска близкая к обработке запросов в режиме реального времени. Индексы могут включать в себя файлы и полные исходные данные, что позволяет использовать Xapiand в качестве хранилища с функцией полнотекстового поиска.
Новый выпуск примечателен переходом на движок Xapian 1.5.0, существенным увеличением производительности и стабилизацией средств для обработки геопространственных данных. Кроме того, представлена поддержка языка запросов QueryDSL (https://kronuz.io/Xapiand/docs/reference-guide/query-dsl/), позволяющего формировать запросы в формате JSON. Например, можно применять логические операторы, фильтровать вывод по определённым значениям полей в документах, учитывать вес и число совпадений, преобразовывать значения полей из одного формата в другой, отсеивать документы в зависимости от пространств имён (вложенных полей, например, для хранения тегов).URL: https://kronuz.io/Xapiand/news/2019/02/11/xapiand-0-9-0-rele.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=50134
Замена Lucene, что ли?
>Замена Lucene, что ли?Lucene невозможно заменить :) т.к. это шикарная реактивная встраиваемая в жабопрожки либа, которая сейчас в каждом третьем проекте используется и не жужит.
На базе lucene был слеплен ElasticSearch, тормозной и глючный. Со спорным велосипедным протоколом выборов. Если его заменят, я не против. Но на практике, у сишников принято бету с 20% функционала выставлять как полную и безоговорочную победу над силами жабы. Что там с морфологией? Что с терабайтными базами? Мультимастер есть?
> Что там с морфологией? Что с терабайтными базами?В соседнем #2 есть слова "словоформами" и "gmane".
> Мультимастер есть?
А если найду?..
>"словоформами" и "gmane".Русская морфология, Миша, русская.
>А если найду?
Найди, мне не жалко. Хотя, лучше документацию им найди и сайт.
Пока проект похож на поделку гика-одиночки.
>> "словоформами" и "gmane".
> Русская морфология, Миша, русская.Выделил. Если недостаточно -- к учительнице!
> Пока проект похож на поделку гика-одиночки.
Даже под сабжем подписались минимум _три_ таких "одиночки", чудо :)
>Выделил.На заборе много чего пишут.
Поднял. Ничерта непонятно, почти все разделы на сайте "This section is a work in progress…"
Нормальной документации вообще нет.
В инете обсуждений нет.curl -X PUT -d '{"name":"coolrecord1", "data" : "васяня"}' 'localhost:8880/idx1'
curl -X PUT -d '{"name":"coolrecord2", "data" : "мишаня"}' 'localhost:8880/idx1'вторая команда уже перезаписывает первую.
По крайней мереcurl -X GET 'localhost:8880/idx1'
возвращает последнюю.
У тебя есть последний шанс аргументировать, что xapiand не гиковая гогноподелка.
Надо думать, они выкладывают те 20%, на которые затрачено 80% времени, но подождите ка. Разве обычно 80% времени не тратится на доработки?
Сам по себе xapian -- отличная штука (кто помнит gmane, так вот там поиск на нём и был). Пощупать-оценить может быть удобно с помощью recoll.А на omega как-то делал индексатор интранетных ресурсов -- bugzilla вместе с аттачами, mediawiki, логи жаберных конференций... жаль, не выложил никуда те наработки с web.t-soft, сочтя уж слишком узкоспециализированными. Хорошо работало, шустро и со словоформами.
PS: но без crawler'а.
Минус тебе за то что не выложил!
Да он просто один из этих - пилит проприетарщинку на свободных либах. Знаем-знаем.
Столлман покусал?
> Минус тебе за то что не выложил!Не то слово, самому бы сейчас и пригодилось.
PS: дурак из #9 забавный :)
>PS: дурак из #9 забавный :)А может это очень умный человек прикидывающийся дураком?
Настолько умный, что даже глупый.
>Сам по себе xapianМишаня, так xapian или xapiand?
Я понимаю, что ты ламер, но не настолько же.
Создатель сфинкса периодически на конференциях поливает его гуано, хотя справедливости ради, он там много кого поливает.
Обычно такие поливают в первую очередь себя...
Ничесе, кресты в сервере, пусть и поисковом. А где же js и go?
libev часть nodejs
Первый публичный релиз Libev появился в 2007 году, когда ни Node.js ни Chromium ещё не существовало. Кроме Node.js Libev ещё много где используется, но это независимый проект.
Разве libuv как-то связана с libev?
Обе библиотеки, обе написаны на C, у обеих названия начинаются на "lib".
Ложь! libuv часть nodejs
И как оно в сравнении с эластиком?
Оно используется в дебиянах для локального поиска по пакетам, я бы не сказал что оно быстрое. Оно там правда не в режиме сервера работает.
> Оно используется в дебиянах для локального поиска по пакетам, я бы не
> сказал что оно быстрое. Оно там правда не в режиме сервера
> работает.Вы путайте Xapian и Xapiand, Xapian просто библиотека для встраивания функциональности поиска в свои приложения.
Одна фигня, библиотека та же, движок тот же.
Время инициализации разное, поскольку применение разное?
> Время инициализации разноеЯ это учёл.
Оно в дебиянах так используется, что лучше бы его вообще на свете не существовало. Это из-за него вывод apt-cache похож на бред сумасшедшего.
Уу, оно еще живо!Ул.Люсиновская получше все таки
Хотя хз, надо потестить, вдруг оно крутое стало