PostgreSQL,PHP - 如何设计数据库搜索?

时间:2011-04-05 16:49:50

标签: php postgresql search

我需要设计一个搜索表单及其背后的代码。

我对搜索不是很熟悉。

我的表格有以下几个方面:

- Table_ads
site_name
ad_type
uri
pagetitle
name_ad
general_description_ad
age
country_ad
location_ad
zone_ad

最初我的想法是像google一样进行搜索,我们只有一个文本框和按钮搜索,但我认为这很难。另一种选择是按字段构建搜索(传统搜索)

您对此主题有何看法?我应该做什么类型的搜索?

最诚挚的问候,

PS:对不起我的英文。

1 个答案:

答案 0 :(得分:1)

对于“google-like”搜索,最好使用全文搜索(FTS)解决方案。

PostgreSQL 8.3和更新版本有一个内置的FTS引擎,它可以让你在SQL中进行所有的查询。例如:

SELECT uri FROM ads WHERE fts @@ plainto_tsquery('cereal');

参见文档 - > http://www.postgresql.org/docs/current/static/textsearch.html如果您有更多问题,请回来: - )

但是,数据库内FTS比专用FTS慢几倍。

因此,如果您需要更好的性能,则必须在数据库之外构建索引,

这里我推荐Sphinx - > http://sphinxsearch.com/docs/current.html,Sphinx与PHP顺利集成。您可以使用文档(最好是以特殊XML docset的形式)提供它,并根据需要或使用某些调度程序更新索引。然后直接从PHP搜索(不接触数据库)。

HTH。