The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Подборка расширений к SQLite и система полнотекстового поиска с поддержкой словоформ

28.06.2011 20:19

Представлен список расширений для БД SQLite, среди которых ICU, FTS3, реализация функций упаковки и распаковки данных с использованием zlib, подборка функций для манипулирования IPv4 адресами, генератор UUID, реализация хэшей MD5 и SHA1. Также поддерживается набор утилит для работы со справочником адресов КЛАДР, конвертацией баз данных XBase в формат SQLite и репликации БД SQLite.

Кроме того, обновлена поисковая система Poisk, для работы которой теперь достаточно стандартного SQLite с вышеуказанным расширением FTS3 (раньше использовалась собственная сборка SQLite). Благодаря поддержке стеммеров Snowball в вышеназванном FTS3 доступен поиск по словоформам. Система распространяется в рамках лицензии GPLv3. Система подходит как для индексации документов на десктопе, так и для организации системы поиска на web-сайте. Поддерживается индексирование файлов, архивов и файлов в архивах, распознавание кодировки текстовых документов производится автоматически.

Все компоненты оформлены в виде deb-пакетов и доступны через специальный репозиторий для текущего Debian Stable. При установке из deb-пакетов требуемые зависимости устанавливаются автоматически. В репозитории содержатся пакеты с исходным кодом и бинарные сборки для архитектуры amd64. Все пакеты можно пересобрать и для архитектуры x86.

  1. Главная ссылка к новости (http://sqlite.mobigroup.ru/wik...)
  2. OpenNews: Poisk - полнотекстовая система поиска на базе SQLite
  3. OpenNews: Реализация системы репликации для SQLite
  4. OpenNews: Набор патчей для SQLite
Автор новости: Veter
Лицензия: CC BY 3.0
Тип: Программы
Короткая ссылка: https://opennet.ru/31025-sqlite
Ключевые слова: sqlite, search
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Иван Лох (?), 00:18, 29/06/2011 [ответить]  
  • +/
    А с gtk filechooser он интегрируется?
     
     
  • 2.2, Veter (??), 01:19, 29/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Нет. Но если означенный gtk filechooser умеет общаться через пайпы (и без DBUS), то можно и сделать.
     
     
  • 3.3, СуперАноним (?), 08:49, 29/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А что за негативизм по отношению к D-Bus? Ведь, это десктопстандарт от freedesktop.org.
     
     
  • 4.4, anonymous (??), 14:57, 29/06/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >freedesktop.org

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

     

  • 1.5, lhoi (?), 15:32, 29/06/2011 [ответить]  
  • +/
    На оффсайте Поиска "В настоящий момент нет поддержки морфологии для полнотекстового поиска", а в заголовке "система полнотекстового поиска с поддержкой словоформ". Как это понимать?
     
     
  • 2.6, Veter (??), 19:17, 29/06/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Поиск по словоформам может выполняться и без морфологического анализа, путем стемминга (более простая задача), что в нашем случае и делается.

    Из вики "Стемминг":

    "Стемматизация (стемминг) — это процесс нахождения основы слова для заданного исходного слова. Основа слова необязательно совпадает с морфологическим корнем слова."

    Проще говоря, мы отбрасываем те части слова, которые считаем незначащими. Но вовсе не обязательно то, что остается, будет совпадать с корнем слова.
    Пример из вики "Корень (лингвистика)": "В сложных словах (композитах) несколько корней: желез-н-о-дорож-н-ый". Но стемминг (Snowball) дает совершенно другой результат:

    $ echo железнодорожный | stemwords -l russian
    железнодорожн

    Есть еще и поиск по soundex-хэшу (их много разных реализаций), можно найти и написанные с ошибками слова, и опять же без морфологического анализа. Правда, тот, кто пишет саму реализацию хэша, опирается как раз на знание морфологии... но это совсем другая история :)

     

  • 1.7, Anonymouse (?), 18:12, 30/06/2011 [ответить]  
  • +/
    За fossil - спасибо! :) Остальное не пригодилось пока ....
     
  • 1.8, lhoi (?), 20:37, 30/06/2011 [ответить]  
  • +/
    Спасибо! Очень познавательно. А есть ли программа/библиотека под линукс для поиска русского текста по словоформам? (stemwords посмотрю. Тоже для меня новое)
     
     
  • 2.9, Veter (??), 12:08, 01/07/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это и есть тема новости, что утилиты Poisk индексируют русский текст и ищут по словоформам :)
    Непосредственно поиск (по индексированным документам) описан по ссылке
    http://sqlite.mobigroup.ru/wiki?name=sqlite3-poisk-client

    А можно и просто в SQLite модуль поиска загрузить и искать в БД, см.
    http://sqlite.mobigroup.ru/wiki?name=FTS3+Snowball+Stemmer

     

  • 1.10, Alexey (??), 15:30, 22/11/2012 [ответить]  
  • +/
    Еще один вариант прикручивания snowball стемминга к sqlite: https://github.com/littlesavage/sqlite3-unicodesn
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2023 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру