我正在尝试寻找为我的网站创建搜索引擎的最佳方法。所有需要搜索的项目都在 mysqli 数据库中,但我在数据库中也有需要从搜索中排除的表(即用户信息、导航菜单表等)。到目前为止,我提出的唯一解决方案是单独搜索每个表中的关键字,然后显示结果。 有没有更简单的方法来做到这一点?我想要一个“表组”或类似的东西,这样我的查询可能是这样的:
SELECT * FROM table_group WHERE any_column LIKE “%search_string%”
数据库目前大约有 30 个表,但表可以动态添加,并且随着站点使用的增加,表数量将会增长。解决这个问题的最佳方法是什么?
最佳答案
如果你想追求创建一个查询数据库的搜索引擎的想法,我认为你必须查询数据库的元数据:表的列表和每个表具有的字段列表。
但是,这很难遵循,因为最后您必须在可打印 View 中向用户呈现信息:这与查找正确的名称不同(因此您必须呈现页面 userInfo.php -举个例子-对用户来说)或公司名称(因此您必须呈现一个完全不同的页面。
我认为至少您必须根据应用程序中的页面创建搜索元素。这意味着您必须创建一个包含搜索引擎信息的表:如何呈现此信息、应在哪些表/字段中搜索等。
即使会有花招。如果用户搜索“smyth”怎么办?搜索引擎是否足够聪明,可以返回“smith”?如果您有两个字段,一个包含姓名,另一个包含姓氏,那么用户输入“john smith”会发生什么??
关于php - 尝试为我的网站构建一个搜索引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21130964/