如何在特定的Mysql数据库上创建搜索引擎?

时间:2014-08-11 18:18:25

标签: python sql search-engine

在我的问题中,我有一个足球数据库,包括球队,球员,比赛以及其他桌子的属性。例如,我想用一个名称查询系统,第一个系统应该识别它是团队还是玩家,然后它显示可以为已定义的实体显示可能的属性。当然我不期待一个确切的解决方案,但对于这样的系统,最好用Python提供什么样的好工具,但欢迎使用其他语言?

1 个答案:

答案 0 :(得分:1)

使用某种ORM系统(如SQLAlchemy)将表映射到python对象。

假设您拥有Team,Player和Match类的所有数据,则可以创建一个函数来搜索每个模型。

实施例

def search(query):
    results = []
    for model in (Team, Player, Match):
        orm_query = session.query(model).filter(model.name.like('%{0}%'.format(query))).all()
        for result in orm_query:
            results.append(some_function_to_serial_object(result))

    return results

您必须定义返回数据的格式。

如果您对SQLAlchemy不熟悉,这是一个很好的教程 http://www.pythoncentral.io/introductory-tutorial-python-sqlalchemy/