我需要设计一个搜索表单及其背后的代码。
我对搜索不是很熟悉。
我的表格有以下几个方面:
- Table_ads
site_name
ad_type
uri
pagetitle
name_ad
general_description_ad
age
country_ad
location_ad
zone_ad
最初我的想法是像google一样进行搜索,我们只有一个文本框和按钮搜索,但我认为这很难。另一种选择是按字段构建搜索(传统搜索)
您对此主题有何看法?我应该做什么类型的搜索?
最诚挚的问候,
PS:对不起我的英文。
答案 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。