我有一个~15,000多个单词短语的数据库,其长度范围为2-7个单词。我希望能够搜索一个小文档(~1000字)来查看它包含哪些短语。我基本上都在寻找实现这一目标的最佳方法。
我目前在MySQL中有两个表中的数据:
词组 (~15,000行)
phrase_id
短语
长度(短语中的单词数)
文件 (100 /天)
DOCUMENT_ID
文字
短语列表保持不变,新文档一直在添加。
据我所知,最好的方法是使用某种索引。理想情况下,当添加文档时,它将被编入索引以查看它包含哪些短语,以便在稍后搜索时结果立即返回。
我已经考虑过在MySQL中如何做到这一点
这一切似乎都是很多开销,我想知道像Sphinx这样的外部工具能否更有效地做到这一点?我已经调查了它,但它似乎主要用于搜索1个短语的大量文档,而不是搜索1个文档中的许多短语。
是否有一些我完全错过的技巧?请注意,虽然技术上有趣,但使用java / python的解决方案超出了我计划为此项目学习的内容