2015-01-31 3 views
-1

У меня есть более миллиона чат записей данных в форматеАлгоритм добывать миллионы записей

chat_message 
city 
timestamp 

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

Требование - отправить сообщение чата, связанное с путешествием, используя ключевые слова. как?

Решение, о котором я могу думать - Имеет множество ключевых слов, связанных с путешествиями. Затем просматривайте все сообщения для каждого ключевого слова (некоторые строки, соответствующие алгоритму).

Я думаю, что решение - довольно грубая сила, больше идей по более эффективному алгоритму для поиска или настройки чатов-записей или/или ключевых слов?

ответ

-1

Ваш пробег может отличаться.

Если ваш язык хоста - это JavaScript, я рекомендую вам использовать полнотекстовую поисковую систему, например lunrjs. Для этого требуется предварительная обработка ваших необработанных данных, например, токенизация, стеблирование и индексирование. И тогда вы можете искать данные более удобно.

Тем не менее, ваш набор данных довольно велик, по крайней мере, для браузеров (поскольку вы используете JavaScript). Если вы собираетесь реализовать это на стороне клиента, необходимо учитывать многие детали, отличные от алгоритма. Распределение памяти, передача данных, а не список.

Однако, если вы находитесь на стороне сервера, более зрелые решения, такие как ElasticSearch, заслуживают вашего внимания.