Фильтрация строк на основе сходства с другими строками в BigQuery

# #sql #google-bigquery #data-analysis

Вопрос:

У меня есть большая таблица запросов, содержащая данные из нашей аналитики поиска.

Проблема в том, что наши данные содержат частичные запросы, поскольку наш поиск происходит по мере того, как пользователь вводит данные (с некоторой детализацией), что означает, что у нас остается много частичных запросов

Дана таблица, подобная приведенной ниже

 | query                                    |
| ---------------------------------------- |
| addic                                    |
| addiction                                |
| adding                                   |
| adding 4 digit numbers                   |
| adding and                               |
| adding and su                            |
| adding and sub                           |
| adding and subtracting fr                |
| adding and subtracting negative numbers  |
| adding subtracting decimals              |
| additio                                  |
| addition and                             |
| addition and sub                         |
| addition and subrtacion                  |
| addition and subtacion                   |
| addition and subtraction                 |
| addition numbers to                      |
| addition primary                         |
| addition subtraction                     |
| addition subtraction multiplic           |
 

Как я могу найти «окончательные» условия поиска (где каждый столбец не является подстрокой другого столбца)

 | query                                    |
| ---------------------------------------- |
| addiction                                |
| adding 4 digit numbers                   |
| addition primary                         |
| adding and subtracting fr                |
| addition subtraction multiplic           |
| adding and subtracting negative numbers  |
| adding subtracting decimals              |
| addition and subrtacion                  | <- typos, but technically different
| addition and subtacion                   |
| addition and subtraction                 |
 

Я пробовал inner join s / where in пункты, но у меня нет ничего близкого.

Я также открыт для совершенно разных подходов, поскольку наивное сопоставление подстрок исключает допустимые запросы, такие как «добавление»

Комментарии:

1. Вы следуете инструкциям по экспорту данных из аналитики в BigQuery? Потому что, возможно, в процессе экспорта большого запроса что-то было не так.