0

我对 php 和 mysql 有很好的了解,但是我的实践较少。在我用搜索、ajax 类型的建议等建立网站之前。但是他们都缺乏一些能力。

现在我要为我的网站创建一个搜索,该网站有大约 10 个具有不同字段名称的表。我花了一些时间弄清楚如何调用 mysql 查询。所以我寻求一些建议和帮助。

如果我选择一些类似于给定字符串的数据,那么我必须创建表的顺序,首先在哪里搜索,哪个表应该是第二个,依此类推。这就是我问这个问题的主要原因。在不同的表上手动运行多个 mysql 搜索查询并尝试处理放入一个数组中的数据,该数组与其他表搜索形成的数组结构相同,这不是一种糟糕的方法吗?我的意思是,如果文章页面的相似度更高,我为什么要先搜索新闻?

后来我想到了一个适合所有表的单个 mysql 查询的想法,但是我不知道如何想出这样的代码来返回布局的数组并包含有关所需搜索查询的所有内容。

请告诉我您认为可能对我有帮助的任何先进技术或做法。谢谢。

4

4 回答 4

2

搜索许多表不是一个好主意。最好有一个索引。索引可以是单个结构化数据库表或外部引擎,如 sphinx 或 lucene。

于 2012-12-10T20:48:39.100 回答
1

提示:使用主要用于搜索的多个表中的所需数据创建视图

于 2012-12-10T20:48:10.557 回答
1

尝试 solr search(http://lucene.apache.org/solr/)、memcache (http://memcached.org/) 或使用 mysql 的索引。阅读以上链接并选择最合适的链接

于 2012-12-10T20:48:38.183 回答
1

如果您的可搜索文本分布在如此多的表中,您应该使用一些单独的搜索索引。

您可以使用现成的库来执行此操作,例如Apache Solr

于 2012-12-10T20:48:52.837 回答