У меня есть 150 000 строк данных, которые я пытаюсь запросить в Google BigQuery.Как искать строки, содержащие конкретные слова, а затем возвращать количество каждого слова?
Столбец Text
содержит различные длины текста, из которых я хочу запросить конкретные ключевые слова.
Я получил по мере запроса ниже, который возвращает все строки, содержащие определенное ключевое слово (например, facebook):
SELECT Text From Data.Set_1
WHERE Text CONTAINS 'facebook'
Вопросы:
1) Как улучшить запрос так что он возвращает общее количество всех вхождений ключевого слова «facebook» через «Текст» в новый столбец?
2) Как увеличить масштаб до нескольких ключевых слов (facebook, cnn, bbc, twitter) и вернуть общее количество каждого ключевого слова, присутствующего в данных (например, facebook 42, cnn 54, bbc 88, twitter 49)?
«Текст LIKE CONCAT («% », ключевое слово,«% »)« опасен, потому что ключевое слово может содержать специальные символы, которые необходимо экранировать. Это также не очень хорошо. Лучшей функцией для использования здесь будет «STRPOS (текст, ключевое слово)> 0» –
согласен, обновлен! –
Это работает отлично! Спасибо, Михаил. Кроме того, есть ли способ для этого запроса сканировать два столбца для ключевых слов? Например, столбец A: текст, столбец B: Text_2 –