В настоящее время я пытаюсь определить, как построить таблицу измерения ключевых слов. Мы отслеживаем посещения сайтов на нашем веб-сайте и хотели бы найти наиболее используемые ключевые слова, используемые для поиска через поисковую систему для сайта, а также любые поисковые термины, используемые во время посещения сайта (цена> 100 долларов США, обзор> 4 звезды и т. д.). Поскольку ключевые слова являются полностью динамическими и могут использоваться в бесконечном количестве комбинаций, мне трудно найти способы хранения этих ключевых слов. У меня есть таблица фактов просмотра страниц, которая включает запись каждый раз, когда просматривается страница. Источник, из которого я выхожу, включает все условия поиска в разделительном списке. Я могу анализировать регулярное выражение, я просто не знаю, как его хранить в базе данных, поскольку количество ключевых слов может значительно варьироваться от просмотра страницы к просмотру страниц. Я думаю, что это может быть больше подходит для решения NOSQL, которое пытается втиснуть его в таблицу MSSQL, но я не знаю. Любая помощь очень ценится!измерение ключевого слова clickstream
ответ
В зависимости от того, как вы хотите анализировать данные, существует несколько решений.
Но для объема данных, которые вы, вероятно, анализируете, я бы просто создал таблицу, которая использует PK этого факта для хранения каждого ключевого слова.
FACT_PAGEVIEW_ID bigint -- Surrogate key of fact table. Or natural key if you don't have a surrogate.
KEYWORD varchar(255) -- or whatever max len the keywords are
VALUE varchar(255)
Гранулярность этой таблицы составляет 1 строку на идентификатор/комбинацию ключевых слов. Возможно, вам придется добавить значение, если вы разрешаете одно и то же ключевое слово несколько раз в querystring.
Это позволяет группировать ключевые слова по просмотру страниц или начинать с факта просмотра страницы, фильтровать его, а затем присоединяться к этому, чтобы идентифицировать ключевые слова.
Другим вариантом будет измерение ключевого слова и многомиллионная таблица с «группой ключевых слов», но поскольку любое количество комбинаций может быть использовано, это, вероятно, более быстрый путь и, вероятно, даст вам 90% путь там. Большинство вопросов, таких как «какая комбинация ключевых слов используется наиболее часто», и «какие ключевые слова больше всего используются в топ-10% пользовательской базы», можно получить с помощью этой структуры.
, поэтому вы, по сути, используете таблицу фактов посещения как своеобразное измерение для этой новой таблицы ключевых слов или обратное измерение, если хотите (сохраняя PK факта в измерении, а не наоборот). Я стараюсь как можно ближе придерживаться методологий Кимбалла, но я думаю, что это должно сработать. Если у кого-то еще есть какие-то другие идеи, я бы с удовольствием их услышал. Спасибо N West и usr! – crosan
Да. Вы можете по-прежнему хотеть измерение ключевого слова, если количество ключевых слов невелико, и у них есть другие атрибуты, которые вы хотите сгруппировать. Просто замените KEYWORD на KEYWORD_ID, а «value» - ваша «текстовая» мера. –
- 1. [SQLAlchemy] SyntaxError: без ключевого слова агда после ключевого слова арг
- 2. PostgreSQL подсчет частоты каждого ключевого слова в матче ключевого слова
- 3. SQLAlchemy SyntaxError: ARG без ключевого слова после ключевого слова арг
- 4. SyntaxError: без ключевого слова аргумента после аргумента ключевого слова
- 5. без ключевого слова агд после ключевого слова арг
- 6. Использование конечного ключевого слова
- 7. imacros проверка ключевого слова
- 8. Создание символа ключевого слова
- 9. Поиск ключевого слова Wordpress
- 10. Использование ключевого слова Extern
- 11. ошибка ключевого слова Ruby
- 12. использование секретного ключевого слова
- 13. Google - Проверка ключевого слова
- 14. volatile использование ключевого слова
- 15. Использование ключевого слова Даты
- 16. Значение ключевого слова javascript
- 17. Использование AWAIT ключевого слова
- 18. Использование этого ключевого слова
- 19. использование статического ключевого слова
- 20. TemplateSyntaxError без ключевого слова
- 21. Отсутствует ошибка ключевого слова
- 22. Выбор ключевого слова Фон?
- 23. Использование «этого» ключевого слова
- 24. динамический пример ключевого слова
- 25. Соответствие ключевого слова Regex
- 26. Поиск ключевого слова MySQL?
- 27. Чудеса ключевого слова доходности
- 28. Уведомление ключевого слова Lucene
- 29. Использование нового ключевого слова
- 30. Положения константного ключевого слова
Как их хранить во 2-й таблице, как обычно, в среде OLTP? – usr
Вторая таблица? Я не уверен, что я следую, ты имеешь в виду звездную схему? Я бы хотел, чтобы эти условия поиска были в удобном для поиска измерении. При поиске предметов, превышающих 100 долларов США и более 4 звезд, сложно, когда вам нужно работать: «minyear = 2000, minprice = 100, stars = 4, category = new» в одном столбце для данного посещения – crosan
Я имею в виду, что вы храните посещения в '(ID INT PK, ...)' и ключевые слова в 'VisitKeywords (VisitID INT PK, строка ключевого слова PK, строка значений)'. Это похоже на стандартное решение. Будет ли это работать? – usr