|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Всем привет! Fb версия 2.5 Необходимо реализовать полнотекстовый поиск. Много данных не будет (сделать диплом и забыть). Я, отношусь к "среднячку" - хотел бы разобраться, но если кто сделает за меня - заплачу. Смотрел по форуму, в основном используют udf и сторонние библиотеки(sphinx). У меня в рамках диплома не большой проект, а написать самому такую процедуру, не хватает знаний. С формы приходят имя, фамилия Есть представление, в котором: Имя, Фамилия, Дата рождения Нечёткий поиск по имени и фамилии,(рус и en). P.s. уж извините за неправильное использование терминологии😪 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2019, 11:51 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, Если речь идёт по "нечётком поиске", то лучше испольовать Postgres так как уже есть эти функции "в коробке". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2019, 16:42 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, как можно диплом на такой мифической хрени делать. Я понимаю, лет 20 назад. Но сейчас-то... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2019, 18:49 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
AltHaspAlepawka, Если речь идёт по "нечётком поиске", то лучше испольовать Postgres так как уже есть эти функции "в коробке". Да, но его использовать, то тогда, считай, и делать, вообще ничего не надо, - даже на курсовую не тянет.)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2019, 20:32 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
AltHasp, Спасибо за совет, но задача стоит использовать FB) поэтому надо как то выкручиваться 😀 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2019, 01:03 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
LIKE тебя чем-то не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 14:50 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, самый простой но очень медленный способ, это что-то типа Код: sql 1. 2. 3. 4. 5.
Чтобы сделать правильно, необходимо создать справочник встречающихся слов, где каждому будет сопоставлен идентификатор, а заполняться уникальными словами этот справочник будет при парсинге контента, отбрасывая все предлоги, начинающиеся с маленькой буквы (чтобы случайно не отбросить такие фамилии как "По" или "И") и знаки препинания. Далее, каждому документу необходимо сопоставить набор идентификаторов слов из справочника, после чего введенные в поисковую строку слова можно будет найти в справочнике слов, взять их идентификаторы и по таблице сопоставления идентификаторов слов документу найти документы, где эти слова встречаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 15:37 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
22.03.2019 15:37, rdb_dev пишет: > Чтобы сделать правильно, необходимо создать справочник встречающихся слов садись. тебе 2. зы: ты вообще не программист. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 16:02 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Мимопроходящий22.03.2019 15:37, rdb_dev пишет: > Чтобы сделать правильно, необходимо создать справочник встречающихся слов садись. тебе 2. зы: ты вообще не программист. Ну-ка, ну-ка... Почитаем вариант иксперта. 😏 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 16:39 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
rdb_dev, Толсто намекну. Твой мегапоиск не будет работать ни на чём, кроме текстов типа "мой твой не понимать". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 17:20 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
WildSeryrdb_dev, Толсто намекну. Твой мегапоиск не будет работать ни на чём, кроме текстов типа "мой твой не понимать".Для диплома этого более чем достаточно. Не загонять же в БД весь словарь со склонениями существительных и временами глаголов... Кстати, по началу, все известные поисковые системы, существующие с 90-ых, именно так и работали - моя твоя "не понимать". ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2019, 18:41 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
__Avenger__, Уже видел вашу реализацию поиска, но у вас библиотеки на windows. А у меня linux ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 10:02 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
__Avenger__, А по поводу sphinx Буду пытаться устанавливать) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 10:05 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, трудно в FPC UDF перекомпилировать? Я не про ту где со сфинксом, а ту что попроще ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 10:07 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
25.03.2019 10:07, Симонов Денис пишет: > трудно в FPC UDF перекомпилировать? Я не про ту где со сфинксом, а ту что попроще дык, тут программист нужен... (С) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 11:57 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
rdb_devКстати, по началу, ...А раньше перфокарт и "бармалея" были штыри. Кстати, о чём это мы? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 13:50 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
WildSeryКстати, о чём это мы?Мы о том, как привязать к документу список встречающихся в нём слов по справочнику этих слов. С помощью каких методов сравнения определять эти слова по поисковой строке, это уже другой вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 14:38 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
rdb_dev, Т.е. сначала мы создадим словарь, а потом будем думать, как и зачем его применить. Ничего не перепутал? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 15:48 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
WildSery, предлагаешь хранить в базе BLOB'ы полных документов и на каждый запрос поиска целиком их перелопачивать в поисках похожих слов из заданной строки поиска? Ты реально полагаешь, что поисковые системы именно так и работают? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 15:57 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
rdb_dev, Ничего я не предлагал. Разумные предложения были от других авторов. А твоё предложение мне не понравилось тем, что похоже на залипуху "вдруг прокатит" для сдачи зачёта, для дипломной же работы вряд ли проканает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 16:09 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Еще тут обсуждалось - триграмный индекс ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 16:45 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
__Avenger__, Да не по зубам ему ничего из этого, - неужели до сих пор не понятно?? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 17:56 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов ДенисAlepawka, трудно в FPC UDF перекомпилировать? Я не про ту где со сфинксом, а ту что попроще Трудно. Там Делфи. Это надо разобраться в Делфи И уже переписывать. Вы не поможете мне? Если надо, я заплачу ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 10:34 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, ты пробовал? Если да, пиши какие ошибки возникли. Если нет, то сначала поставь Lazarus 2.0 и попробуй. Что не получится, то поможем адаптировать ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 10:37 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Денис, Я вроде как сделал,но Вопрос Я поменял функции utf8ToString на Utf8ToAnsi Это правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:50 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, понятия не имею. Какую именно UDF вы модифицируете? Ссылка на код, и название функции, ну или здесь пример кода под спойлером выложи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:55 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов ДенисAlepawka, понятия не имею. Какую именно UDF вы модифицируете? Ссылка на код, и название функции, ну или здесь пример кода под спойлером выложи Итак, не модифицирую, скорей переписываю для работы на linux 11351770 Что именно я сделал: Файл u_Func.pas Удалил эту часть кода: Код: pascale 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
Посмотрел, что условие для windows, удалил Далее, посмотрел документацию по FPC - AnsiUpperCase есть встроенная, поэтому тоже удалил. Далее В главном файле проекта, как уже сказал раньше, вместо utf8ToString поставил Utf8ToAnsi (Прикрепил файл) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 12:30 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, FPC какой версии? Для облегчения миграции для начала неплохо бы врубить режим дельфи {$IFDEF FPC} {$MODE DELPHI}{$H+} {$ENDIF} и не забывать включить многопоточный менеджер памяти в список модулей {$IFDEF unix} cthreads, {$ENDIF } ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 13:37 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Денис, 3.0.4 Спасибо) добавил код Кстати, написал, функции работают) Спасибо большое за помощь!) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:08 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Денис, Вот вопрос с кодировками При создании функции был указан тип cstring. В какой формат мне конвертировать данные из БД, чтоб функция работала корректно? Допустим, есть человек в базе Иванов Иван Иванович. Пишу запрос: Код: sql 1. 2. 3.
И выдает, что совпадение 89. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:23 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, у тебя БД в какой кодировке? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:38 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Денис, Столбцы в varchar Пробовал с cast преобразовывать Так же Пробовал trim - тоже не помогает ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:48 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Денис, А может сделать временную таблицу? Сделать процедуру поиска Данные с формы добалять, допустим, в столбец временной таблицы И пусть он сравнивает с моей таблицей людей? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 14:52 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Alepawka, я тебя про кодировку спрашиваю, а ты мне про варчары ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 15:08 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Денис, Ахах, прости, utf8 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 16:51 |
|
Полнотекстовый поиск
|
|||
---|---|---|---|
#18+
Симонов Дениси не забывать включить многопоточный менеджер памяти в список модулей {$IFDEF unix} cthreads, {$ENDIF } вдогонку... дока (по-крайне мере, для Лазаря) еще рекомендует подключать туда же и сишный манагер памяти cmem ( тынц , тынц ), который имеет некоторые преимущества перед фрипаскалевским. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 21:22 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560757]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
103ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 532ms |
0 / 0 |