2013-02-15 48 views
0

引擎我有在它周围10,000多篇文章MySQL数据库,但这一数字可能会上升随着时间的推移。我希望能够搜索这些文章,并根据某些关键字提取最相关的结果。我知道有很多项目可以插入,基本上可以做到这一点。但是,这个应用程序非常简单,如果能够直接掌握整个事物的运作方式并掌握相关知识,那就太好了。因此,我想在Python中从头开始构建一个非常简单的搜索引擎。搜索从头

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

什么是我可以把这个的最佳方法?

+1

我敢打赌,谷歌已经开始点这个的*吨* ..你有什么甚至到目前为止已经试过? – 2013-02-15 06:21:54

+0

我还没有尝试过任何东西,因为我只是在计划我的方法。我发现的所有东西都采用纯粹的MySQL搜索,或将文章转储到列表中并进行排序。 – Gus 2013-02-15 07:06:43

回答

3

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

+0

谢谢,我会尽力找到这个。 – Gus 2013-02-15 07:05:25

0

如果你不介意更换用别的东西MySQL数据库的话,我建议elasticsearch,使用pyes

它拥有你所期望的搜索引擎,包括全文检索,强大的性能,分页,-比较像这样,插件,能够得分算法的功能,并且是实时的 - 所以,当更多的数据被添加它将立即显示在搜索结果中。

如果你不想删除当前数据库,那么你可以很容易地运行它们并排,和对待MySQL作为主。