Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PostgreSQL,PHP-如何设计数据库搜索?_Php_Postgresql_Search - Fatal编程技术网

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

PostgreSQL,PHP-如何设计数据库搜索?,php,postgresql,search,Php,Postgresql,Search,我需要设计一个搜索表单和它背后的代码 我对搜索不是很熟悉 我的表格有以下几个方面: - Table_ads site_name ad_type uri pagetitle name_ad general_description_ad age country_ad location_ad zone_ad 最初我的想法是做一个类似谷歌的搜索,我们有一个单一的文本框和按钮搜索,但我认为这将是困难的。另一个选项是按字段构建搜索(传统搜索) 你觉得这个题目怎么样。我应该做什么类型的搜索 致以最良好的祝愿

我需要设计一个搜索表单和它背后的代码

我对搜索不是很熟悉

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

- Table_ads
site_name
ad_type
uri
pagetitle
name_ad
general_description_ad
age
country_ad
location_ad
zone_ad
最初我的想法是做一个类似谷歌的搜索,我们有一个单一的文本框和按钮搜索,但我认为这将是困难的。另一个选项是按字段构建搜索(传统搜索)

你觉得这个题目怎么样。我应该做什么类型的搜索

致以最良好的祝愿

PS:对不起,我的英语不好。

对于“类似谷歌”的搜索,最好使用全文搜索(FTS)解决方案

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

SELECT uri FROM ads WHERE fts @@ plainto_tsquery('cereal');
请参阅文档->并在有更多问题时返回:-)

然而,数据库中的FTS比专用FTS慢几倍

所以,如果需要更好的性能,就必须在数据库之外构建索引

在这里我推荐Sphinx->,Sphinx与PHP平滑集成。您可以向它提供文档(最好是以特殊的XML文档集的形式),并根据需要或使用一些调度器更新索引。然后直接从PHP进行搜索(不接触数据库)


HTH.

您能更具体一点吗?您希望用户搜索哪些列?