搜索引擎从头开始

时间:2013-02-15 06:10:17

标签: python mysql search search-engine

我有一个MySQL数据库,里面有大约10,000篇文章,但这个数字可能会随着时间的推移而上升。我希望能够搜索这些文章,并根据一些关键字提取最相关的结果。我知道我可以插入一些项目,基本上可以为我做这个。但是,应用程序非常简单,对整个操作的操作有直接控制和工作知识会很好。因此,我想在Python中从头开始构建一个非常简单的搜索引擎。

我甚至不确定从哪里开始,真的。我可以将MySQL数据库中的所有内容转储到列表中,并尝试根据相关性对该列表进行排序,但这似乎会很慢,并且随着数据库项目数量的增加而变慢。我可以使用一些基本的MySQL搜索来获取MySQL认为的前100个最相关的结果,然后对那些100进行排序。但这是一个两步过程,可能效率较低,如果它刚刚出来,我可能会冒险错过一篇文章范围。

我可以采取哪些最佳方法?

2 个答案:

答案 0 :(得分:3)

为10,000篇文章做“搜索引擎”的最佳选择是阅读Toby Segaran的“编程集体智慧”。精彩的阅读和节省您的时间转到2007年8月第4章。

答案 1 :(得分:0)

如果您不介意用其他内容替换MySQL数据库,那么我建议elasticsearch使用pyes

它具有您期望的搜索引擎功能,包括全文搜索,出色的性能,分页,更像是这样,可插入的评分算法,并且是实时的 - 所以当添加更多数据时,它将会立即显示在搜索结果中。

如果您不想删除当前数据库,那么您可以轻松地并排运行它们,并将MySQL视为主数据库。