我正在构建与Google快讯非常相似的内容。如果您不知道它是什么,请考虑以下方案,
对于一个关键字,对数千篇文章进行基本的全文搜索很容易,但如何使用百万个关键字有效地进行全文搜索?
由于我没有强大的CS回溯,我唯一的想法就是将所有关键字编译成regex
或者自动机,这样做会有效吗? (就像谷歌的re2)
我认为我在这里有一些重要的事情。就像将这些关键字编译成一些高级数据结构一样。由于许多关键字是相似的(例如复数形式,简单AND,非逻辑等)。在进入此之前,我还需要了解任何先前的理论吗?
欢迎所有建议,谢谢!
答案 0 :(得分:0)
我可以想到以下几点:(1)确保每个搜索查询都非常快。毫秒级性能非常重要。 (2)使用相同的关键字对多个查询进行分组,并为每个组执行单个查询。
由于不同的查询使用不同的关键字和AND / OR操作,我没有看到其他方法对它们进行分组。