У меня есть таблица URL-адресов, и мне нужно найти все URL-адреса, содержащие ключевое слово, например «fogbugz» или «amazon». Если ключевое слово появится в URL-адресе, я бы хотел, чтобы оно было результатом.
Прямо сейчас я пытаюсь:
SELECT url FROM url WHERE url LIKE '%keyword%'
Что предсказуемо медленно, даже если URL проиндексирован.
Я открыт для альтернативных методов быстрого индексирования, включая методы сценариев. Я думал о том, чтобы просмотреть каждый URL, разделить его на символы «/», затем «_ или -» и сохранить их в отдельной таблице url2keyword. При использовании этого метода URL-адрес, например: "http://www.foo.com/directory/article-name", будет иметь в качестве ключевых слов" foo "" directory "" article "" name ". Просто идея.
Конечно, если есть более простой способ сделать это в MySQL или вообще, я бы предпочел это.
Я хотел бы получить ваши предложения по этому вопросу! Спасибо.