Как установить отношения между хэштегами, используя PHP / MySQL? - PullRequest
0 голосов
/ 21 мая 2019

Я работаю над инструментом в PHP, который сканирует Instagram, чтобы собрать аналитику для нескольких хэштегов.Цель состоит в том, чтобы следить за развитием / ростом определенных хэштегов и предоставлять поисковую систему, чтобы люди могли получать актуальную статистику по каждому хэштегу.

Пока у меня есть довольно простая поисковая система, иЯ запускаю SQL-запрос, который ищет LIKE %'travel'%.Поэтому, если кто-то наберет «#travel», он получит все, что содержит «путешествие по миру», например «travellagent», «iliketotravel» и т. Д.

Проблема, с которой я сталкиваюсь, - я бы хотелрасширить результаты поиска, включив в них вещи, которые связаны с #travel, очень похожи на такие сайты, как http://displaypurposes.com или http://best -hashtags.com / , и я пытаюсьчтобы выяснить, КАК они это делают.

Я особенно очарован первым и функцией Графа: https://displaypurposes.com/graph?tag=travel

Похоже, они эффективно отобразили все ссылкимежду огромным количеством хэштегов и предоставлением результатов на их основе.

У меня в базе данных около 45 000 хештегов, как бы я связал их вместе, чтобы включить «поиск по релевантности», такой как два сайта, которые я упомянулвыше?Как можно построить нечто подобное?Я целую вечность смотрел в Интернете и не могу найти ответ на свой вопрос.

Спасибо за вашу помощь!:)

1 Ответ

1 голос
/ 21 мая 2019

Это на самом деле не вопрос программирования, но я постараюсь ответить на него таким образом, чтобы ответить на него таким образом.

Возможно иметь несколько тегов на одном посте в Instagram. Например, у вас может быть кто-то, кто публикует фотографию Рима с хэштегами #rome #travel. Теперь это связывает #rome с #travel и учитывает это как связь между ними.

Пока у нас есть структура таблицы со следующими атрибутами:

  • PostNumber
  • хэштегом

Мы можем найти главные отношения, запустив что-то вроде следующего кода:

SELECT  COUNT(*) `Relation Occurances`, 
        b.Hashtag
FROM 
    Posts a
JOIN 
    Posts b
ON 
    a.PostNumber = b.PostNumber
WHERE 
    a.Hashtag = '#travel'
AND 
    b.Hashtag != '#travel'

Вы можете уточнить запрос, чтобы ограничить до 100 главных отношений и т. Д., Если требуется.

Для дальнейшего подробного объяснения ключ разбивает пост в таблицу с 1 строкой на пост на хэштег. Если вы выполняете поиск по шаблону для большого текста, это приведет к длительному времени обработки и будет неэффективным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...