我有超过一百万条数据的聊天记录,格式为
chat_message
city
timestamp
现在,我们需要检查与旅行相关的关键字,例如" travel"或者"住宿"或"酒店"我们说我们收集了大约15个与旅行相关的关键词。
要求是使用关键字挖掘与旅行相关的聊天消息。如何?
我能想到的解决方案 - 拥有一系列与旅行相关的关键字。然后浏览每个关键字的所有消息(一些字符串匹配算法)。
我认为这个解决方案非常强大,有关更高效算法的更多想法可以搜索,还是设置聊天记录或/和关键字?
答案 0 :(得分:-1)
您的里程可能会有所不同。
如果您的主机语言是JavaScript,我建议您使用一些全文搜索引擎,例如lunrjs。它需要预处理原始数据,例如,标记化,词干化和索引。然后您可以更方便地搜索数据。
尽管如此,您的数据集非常大,至少对于浏览器而言(因为您使用的是JavaScript)。如果要在客户端实现此功能,则需要考虑除算法之外的许多细节。内存分配,数据传输,而不是列表。
但是,如果您在服务器端,则ElasticSearch等更成熟的解决方案值得您考虑。