【问题标题】:How to Create Search Engine For Multiple Database With Indexing [duplicate]如何使用索引为多个数据库创建搜索引擎 [重复]
【发布时间】:2012-07-23 13:01:06
【问题描述】:

可能重复:
How do you connect to multiple MySQL databases on a single webpage?

我正在为我的网站构建一个搜索引擎,我有 6 个数据库和许多表。

对于多个数据库,我知道我必须构建一个索引文件,其中包含来自所有数据库和表的信息。

我知道如何用 PHP 和 MySQL 为数据库构建搜索引擎,

连接多个数据库

mysql_connect(“hostname”, “username”, “password”);
mysql_select_db(“database1”);

mysql_connect(“hostname”, “username”, “password”);
mysql_select_db(“database2”);

像这样查询

"(SELECT * from database1.search_table WHERE MATCH (title, link) AGAINST(‘keyword’))
  Union All 
 (SELECT * from database2.search_table WHERE MATCH (title, link) AGAINST(‘keyword’)"

我想通过制作一个索引文件来做到这一点。

请推荐任何好的教程或方法,我google了很多次但没有好的结果。

【问题讨论】:

  • 是的,那么如果我在查询中使用 UNION ALL,结果查询会变得太大,所以我想制作一个存储我所有数据库信息的单个索引文件。如何制作该索引文件。我应该创建另一个包含数据库中所有数据的数据库
  • 我认为您无法对多个数据库执行单个查询 - 我认为您必须进行单独的查询才能查看然后自己组合数据。
  • 我的问题也不是重复的,因为我问的是让搜索引擎不是连接多个数据库的方式。我知道如何连接到多个数据库。
  • 拥有多个连接后您所做的与此问题无关...您需要一种连接多个数据库的方法 - 您可以在我发布的链接中找到答案。跨度>

标签: php mysql search-engine


【解决方案1】:

我想到了三种方法来做到这一点: 1-st 您可以使用多个数据库连接。这是最繁重的方法,因为它会增加与服务器的连接。 2-nd 你可以只切换选择的数据库。 3-rd 您可以通过在查询中选择数据库来使您的查询数据库独立。这是一个例子:

SELECT * FROM `database`.`table` WHERE `database`.`table`.`column`='something'

我个人认为第三种方式是最好的。

【讨论】:

    猜你喜欢
    • 2012-09-07
    • 1970-01-01
    • 2014-01-08
    • 2017-07-23
    • 1970-01-01
    • 2011-06-06
    • 2018-02-24
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多