предварительная обработка текста с оракулом sql - PullRequest
0 голосов
/ 19 ноября 2018

Снова я попрошу вас о помощи, чтобы выполнить некоторые работы со строками в базе данных oracle, чтобы выполнить некоторую предварительную обработку (до интеллектуального анализа текста).Итак, у меня есть строки с этой формой в таблице типов varchar2: "#PROTESTOBR: Протесты в отношении бразильских бразильских юношей и невест!J.Oliveira Curta a Página Geração Invencível: http://www.facebook.com/GeracaoInvencive"

Я хочу восстановить мои строки, очистив их от # и URL-адресов. Я исследую два способа: 1 / как мне удалось извлечь хештеги из моих строки экспортировал их в другую таблицу, я пытаюсь понять, как сделать запрос типа REPLACE, принимая в качестве параметра целые хэштеги, содержащиеся в моей таблице хештегов. 2 / просто попробуйте очистить мой текст с помощью рекурсивного предложения CONNECT BY LEVEL. Как мне удалось извлечьhahstags, я пытаюсь использовать свой запрос, с которым мне удалось извлечь мои хэштеги в качестве запроса на замену:

SELECT replace(titre, (regexp_substr("my_string", '#\S+\s?'))) as wo#, d.l occurrence   FROM My_String_Table CROSS JOIN (SELECT LEVEL l FROM dual
CONNECT BY LEVEL < 30) d WHERE regexp_like("my_string",'#\w+')    
AND d.l <=regexp_count("my_string",'#\w+');

Проблема с использованием этого способа заключается в том, что он возвращает меня (как и ожидалось) в виде строк, как раз запросвстречаетсяшаблон ((regexp_substr ("my_string", '# \ S + \ s?')).Результаты очень хорошие, но, как вы можете догадаться, мне нужен только один результат ^^ Как я могу это сделать?Каковы ваши советы?Как бы вы поступили, учитывая, что у меня есть не одна строка источника, но примерно 1 миллион.Большое спасибо за ваши советы!Спасибо bis, потому что этот запрос, показанный выше, был найден благодаря примерам stackoverflow.

...