powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Частичный поиск в строке.
17 сообщений из 17, страница 1 из 1
Частичный поиск в строке.
    #38788555
Protonex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дано:
1. Входные данные (Поисковая строка с произвольным текстом)
2. БД с таблицей "ключевых слов и фраз"

Требуется найти строки в бд, слова из которых в любом порядке присутствуют во входной строке.

Например, входная строка: "Съешь же еще этих мягких французских булок да выпей чаю".
И таблица:
id | text
----------------------
0 | ночь этих
1 | еще улица
2 | французских вин
3 | аптека
4 | булок мягких французских
5 | еще чаю
6 | кофе
----------------------

И запрос должен вернуть строки 4, 5..
Этакий %like% наизнанку...
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38788581
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProtonexДано:
1. Входные данные (Поисковая строка с произвольным текстом)
2. БД с таблицей "ключевых слов и фраз"

Требуется найти строки в бд, слова из которых в любом порядке присутствуют во входной строке.

Например, входная строка: "Съешь же еще этих мягких французских булок да выпей чаю".
И таблица:
id | text
----------------------
0 | ночь этих
1 | еще улица
2 | французских вин
3 | аптека
4 | булок мягких французских
5 | еще чаю
6 | кофе
----------------------

И запрос должен вернуть строки 4, 5..
Этакий %like% наизнанку...

RTFM: MySQL & FULLTEXT
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789125
Protonex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FULLTEXT не дает нужной определенности в результатах...
К тому же не очень любит короткие, частые, "цифровые" слова...
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789209
Фотография javajdbc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProtonexFULLTEXT не дает нужной определенности в результатах...
К тому же не очень любит короткие, частые, "цифровые" слова...

ФУЛЛТЕХТ:
Минимальная длина -- настраивается
частые слова -- настраиваются
цифровые слова -- не знаю.

Вариант -- сфинкс, кажется есть и другие текстовые поисковики

Вариант -- делать похожий функционал самому:
каждую фразу в таблице разбить на составляюшие
и записать их в отдельную таблицу.
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789373
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Protonex, нормализуйте исходные данные, и задача станет элементарной.
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789458
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProtonexДано:
1. Входные данные (Поисковая строка с произвольным текстом)
2. БД с таблицей "ключевых слов и фраз"

Требуется найти строки в бд, слова из которых в любом порядке присутствуют во входной строке.

Например, входная строка: "Съешь же еще этих мягких французских булок да выпей чаю".
И таблица:
id | text
----------------------
0 | ночь этих
1 | еще улица
2 | французских вин
3 | аптека
4 | булок мягких французских
5 | еще чаю
6 | кофе
----------------------

И запрос должен вернуть строки 4, 5..
Этакий %like% наизнанку...

я всегда доколупувыюсь до слов. ибо уверен на 100% - сказаное не правильно слово, понимаеться верно, но подсознание в дальнейшем - настроенно уже не верно.

...
я про "Этакий %like% наизнанку"
назовём его правильно

Этакий %like% только множественный!

ЗЫ
скажи - а задача сразу стала лёгкой...
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789499
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453,

вот это решеньице... точно в точку... nu u nix i kontrolnye
Код: sql
1.
SELECT * FROM t1 t WHERE 'Съешь же еще этих мягких французских булок да выпей чаю' LIKE CONCAT('%',t.text,'%')
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789543
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_Ustinovalex564657498765453,

вот это решеньице... точно в точку...
Да вряд ли...
Protonex1. Входные данные (Поисковая строка с произвольным текстом )
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789631
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, произвольный текст решается применением переменной))))
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789683
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mikhalkenпроизвольный текст решается применением переменной))))Нет.
Произвольный текст может включать произвольное количество "слов". Что потребует подключения опорной (возможно, генерируемой или служебной) таблицы с количеством записей не менее максимально возможного количества слов в этом тексте. В общем, ни разу оно не просто решается. Хотя да, принципиально такое возможно.
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789755
mikhalken
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, произвольная строка, т.е. явно переменной хватит
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38789830
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строка в десяток мегабайт вполне подходит под термин "определенная строка". Вот только переменной придётся несладко...
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38790111
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

99% задачка из контрольной на ночь "на сообразительность" в SQL. (время восприятия, осознания, принятие решения, ...)
Мы ее "выиграли"... т.е. решили.

Хотя все время задаюсь вопросом - почему с контрольными прут в этот форум... ведь решения чаще специфические, ввиду некоторых ограничений MySQL...
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38790120
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_UstinovМы ее "выиграли"... т.е. решили.да нихрена не решили
ProtonexТребуется найти строки в бд, слова из которых в любом порядке присутствуют во входной строкеприведённый запрос ни 4, ни 5 запись не вернёт
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38790147
Protonex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Думается мне что средствами БД это не решается адекватно.
В силу размеров таблицы (до нескольких сотен записей), мне видится что ее проще считать всю в память приложения, разбить строки на слова, и пословно пройтись по входной строке с поиском подстроки, попутно отмечая какие слова есть, а каких нет...
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38790168
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProtonexДумается мне что средствами БД это не решается адекватно.Решается. Адекватно. И просто. Но при условии, что данные нормализованы, а не валяются кучей, как сейчас. СУБД не предназначена для выправления косяков архитектора.
...
Рейтинг: 0 / 0
Частичный поиск в строке.
    #38790357
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tanglir,

действительно, не обратил внимания...


так где-то уже это было... недавно
значит опять задачка с факультета прикладной лингвистики...
формализация языка, говорящие-понимающие роботы...
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Частичный поиск в строке.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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