|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
Всех приветствую! Друзья, помогите с запросом на поиск упоминания запрещенных слов в табличке сообщений для пользователей. Условие: слова должны в поле text таблицы user_messages должны быть разделены разделителями слов. Моя попытка через регулярку: Код: sql 1.
Не работает. 1) Подзапрос строит корректное регулярное выражение, если проверять на сайте regextester. Но, на том же regextester под регулярку попадают только слова из латинский букв. Нужна также кириллица. 2) Сам запрос почему-то не находит даже упоминания даже слов из латинских букв, несмотря на то, что regextester говорит что регулярка нормальная. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 10:13 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
Создайте fiddle с десятком фраз и несколькими стоп-словами. Поиграемся... И укажите точную версию сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 11:19 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 14:58 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
1) Какая версия сервера У ВАС? 2) Каким должен быть эталонный ответ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2019, 20:59 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
Akina, MySql 5.7 black_list - таблица - справочник запрещенных слов. Целевой запрос должен содержать след выборку из таблицы users_messages: (90267, 88132, 'Тестовое сообщение плохоеслово1', 1, '2019-07-19 16:51:46') (90267, 88132, 'badword2 some message»', 1, '2019-07-19 16:51:46') Запись (90267, 88132, 'Тестовое сообщение плохоеслово1лалала', 1, '2019-07-19 16:51:46') - не подходит т. к. "плохоеслово1" встречается как подстрока в другом слове ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 10:46 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
Осталось прояснить, что есть "слово". Как я понимаю, это группа символов, ограниченная началом/концом строки либо разделяющим символом, и не содержащая разделяющих символов? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 11:57 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
5.7 не хочет понимать \b. Работает вот такая конструкция: Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 12:33 |
|
Поиск в сообщениях пользователей запрещенных слов
|
|||
---|---|---|---|
#18+
Akina, Спасибо большое! Запрос корректно работает. Но есть проблема - работает медленно. У меня таблица users_messages примерно 15000 записей + справочник плохих слов примерно 600 записей. Выполнение запроса уже 24 минуты идет и конца пока не видно. ЦПУ i5-7500. Что такое "Слово" Вы правильно поняли. Если не затруднит может еще вариант запроса попробуем. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.08.2019, 15:18 |
|
|
start [/forum/topic.php?fid=47&msg=39855710&tid=1828994]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 485ms |
0 / 0 |