powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / CORE-734 // Full text indexing / search
8 сообщений из 8, страница 1 из 1
CORE-734 // Full text indexing / search
    #40040795
Dorin Marcoci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!

Собственно про http://tracker.firebirdsql.org/browse/CORE-734

Есть ли в отдаленных планах реализацию хотя бы быстрый примитивный метод, без лексики/морфологию?
В одном проэкте выбираем DBMS, делаем таблицу сравнений для клиента, это пока минус Файра.
Если инстанс один/два можно было в связки с каким нибуд эластик или сфинкс, но инстансов много, 250+.
Есть несколько текст блобов по которым нужен поиск. Спрошу, может готовы немного профинансировать.

И еще как хотелку, утилита типа как в постгри, типа pg_upgrade, или может как свитч в gbak, одним махом апдэйтить базу.
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040797
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcoci,

можно прикрутить внешний полнотекстовый поиск. Собственно сборку сфинкса под Firebird Влад периодически выкладывает.
Но можно и любой другой прикрутить. Если надо более тесную интеграцию можно написать внешние UDR
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040804
Dorin Marcoci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Так я написал что инстансов много, маленькие оффисы, деплой и апдэйты автоматические.
А ставить и поддержать еще Сфинкс будет сложновато. Данные не очень много.
Когда например какой то сервис на один/пару серверов то да, через сфинкс лучше.

Буду предлагать вариант через доп таблицу и UDR..
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040812
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcoci,

не обязательно сфинкс. Можно любой другой полнотекстовый поиск прикрутить. UDR тут нужен разве что для того чтобы внутри SQL проще использовать было.

Можно сделать набор внешних ХП и функций по аналогии с Red Database
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040840
Dorin Marcoci
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думал UDR для разбиения слов и потом вставку в доп таблицу, где потом "starting".
Хотя разбивку уже можно и PLSQLом, добавили достаточно встроенных функций.
А что, думаешь эластик будет проще деплоить и держать синхронизацию с базой? ;)
Если бы был хотябы какое-то встроенное простое разбиение на слов/токенизацию и индекс по этим словам было бы очень классно.
Видел в РедDB есть связка с Lucene, но таскать за собой всю джаву, и еще одно зависимость как внешний модуль даже не знаю...
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040849
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin Marcoci,

не обязательно именно Lucene использовать. Я говорю взять за основу идею. Прикрутить можно к чему угодно.

Обновлять/синхронизировать можно либо кроном, что дорого (перечитывать огромные таблицы в поисках изменений). Либо повесить на эти таблицы триггеры, которые отправляют сообщение в очередь с "просьбой" переидексировать поля записи.
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040855
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в четвёрке на это можно плагин репликации запрячь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CORE-734 // Full text indexing / search
    #40040856
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dorin MarcociЯ думал UDR для разбиения слов и потом вставку в доп таблицу, где потом "starting".

это не совсем полнотекстовый поиск. Но кое что можно сделать в этом направлении.

1. Разбиение текста на слова
2. Каталог слов
3. Таблица индексов (таблица, слово, блоб с идентификаторами записей)
4. Процедура которая по фразе выдаёт список идентификаторов и коэффициент совпадения (совпавшее/общее кол-во слов во фразе)

будет что-то типа

Код: sql
1.
2.
3.
4.
5.
select
  t.*
from text_search('MyTable', 'мама мыла раму') ts
join t on t.id = ts.id
order by ts.k desc
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / CORE-734 // Full text indexing / search
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]