Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
如何使用php构建站点内搜索引擎?_Php_Search - Fatal编程技术网

如何使用php构建站点内搜索引擎?

如何使用php构建站点内搜索引擎?,php,search,Php,Search,我想用php构建一个站点内搜索引擎。用户必须登录才能查看信息。所以我不能使用谷歌或雅虎搜索引擎代码 现在我想让引擎搜索文本和页面,而不是mysql数据库中的表 有人这样做过吗?你能给我一些指导来帮助我入门吗?你需要一个蜘蛛,它可以在cron作业中从你的站点获取页面,例如,剥离html并将它们保存在数据库中。你需要一个蜘蛛,它可以在cron作业中从你的站点获取页面,例如,剥离html并将其保存在数据库中如果页面的内容和标题已由数据库管理,则只需用php编写搜索引擎即可。有很多解决方案可以查询您的数

我想用php构建一个站点内搜索引擎。用户必须登录才能查看信息。所以我不能使用谷歌或雅虎搜索引擎代码

现在我想让引擎搜索文本和页面,而不是mysql数据库中的表


有人这样做过吗?你能给我一些指导来帮助我入门吗?

你需要一个蜘蛛,它可以在cron作业中从你的站点获取页面,例如,剥离html并将它们保存在数据库中。

你需要一个蜘蛛,它可以在cron作业中从你的站点获取页面,例如,剥离html并将其保存在数据库中

如果页面的内容和标题已由数据库管理,则只需用php编写搜索引擎即可。有很多解决方案可以查询您的数据库,例如:

如果内容仅包含在html文件中,而不包含在db中,则可能需要编写一个spider

您可能也对缓存结果以提高性能感兴趣


我想说的是,一切都取决于网站/web应用程序的大小和复杂性。

如果页面的内容和标题已经由数据库管理,则只需用php编写搜索引擎即可。有很多解决方案可以查询您的数据库,例如:

如果内容仅包含在html文件中,而不包含在db中,则可能需要编写一个spider

您可能也对缓存结果以提高性能感兴趣


我想说的是,一切都取决于您的网站/web应用程序的大小和复杂性。

您可以像极为讨厌的专家交换网站那样进行一些欺骗。他们是盈利性程序员问答网站,很像StackOverflow。为了查看答案,你必须付费,但有时答案会出现在谷歌搜索结果中。很明显,E-E为网络爬虫提供了不同的页面,为人类提供了不同的页面。你可以使用同样的技巧,然后将谷歌自定义搜索添加到你的网站。登录的用户将看到结果,否则他们将跳转到登录屏幕。

你可以像极为讨厌的专家交流网站那样作弊。他们是盈利性程序员问答网站,很像StackOverflow。为了查看答案,你必须付费,但有时答案会出现在谷歌搜索结果中。很明显,E-E为网络爬虫提供了不同的页面,为人类提供了不同的页面。你可以使用同样的技巧,然后将谷歌自定义搜索添加到你的网站。登录的用户将看到结果,否则他们会跳转到登录屏幕。

您可能想看看Sphinx,它是一个可以从php脚本轻松访问的搜索引擎。

您可能想看看Sphinx,它是一个可以从php脚本轻松访问的搜索引擎。

您可以控制您的服务器吗?然后,我建议您为索引和与PHP交互安装/Lucene。这样,您就可以拥有facet和其他漂亮的全文搜索功能

我不会对实际页面进行爬行,相反,我会在没有导航和其他与内容无关的内容的情况下爬行页面


SOLR需要服务器上的Java

您可以控制您的服务器吗?然后,我建议您为索引和与PHP交互安装/Lucene。这样,您就可以拥有facet和其他漂亮的全文搜索功能

我不会对实际页面进行爬行,相反,我会在没有导航和其他与内容无关的内容的情况下爬行页面

SOLR需要服务器上的Java

我使用了finally,这是一个免费工具,它可以很好地与php配合使用

谢谢大家

我使用了finally,这是一个免费工具,它可以很好地与php配合使用


谢谢大家

要明确的是,EE向爬虫和来自谷歌的访问者展示了一个不同的页面。这叫做伪装,我不推荐它。即使EE这样做了,他们也与谷歌签订了一些关于itIf的特别协议,这需要一些特别协议——那可能是不允许的。当解决方案出现在谷歌上时,你可以向下滚动页面——滚动到所有这些废话的最底端——并且用户可以看到该解决方案。这与谷歌的指导方针是一致的——不需要特别的协议。要明确的是,EE为爬虫和谷歌的访问者提供了一个不同的页面。这就是所谓的伪装,我不推荐它。即使EE这样做了,他们也与谷歌签订了一些关于itIf的特别协议,这需要一些特别协议——那可能是不允许的。当解决方案出现在谷歌上时,你可以向下滚动页面——滚动到所有这些废话的最底端——并且用户可以看到该解决方案。这符合谷歌的指导原则——不需要特别协议。我以前写过一个搜索引擎。如果你想要半路的话
要提高性能,需要大量代码。我建议您查找某种类型的插件。@twolfe18感谢您的建议,同时我正在搜索一些工具,如sphider1.3.4,但此版本不起作用。你知道其他一些工具或插件吗??谢谢。我以前写过一个搜索引擎。如果您想要任何一种折衷的性能,它需要大量的代码。我建议您查找某种类型的插件。@twolfe18感谢您的建议,同时我正在搜索一些工具,如sphider1.3.4,但此版本不起作用。你知道其他一些工具或插件吗??谢谢。谢谢,但是我觉得使用java对我来说更复杂。你有其他的建议吗?这不是那么困难,你会有一个非常强大的搜索引擎。绝对不涉及java编程。更简单的方法是mysql方法。放置您查询的upp视图。谢谢Fontanka,我将尝试使用SolPHP。谢谢,但我认为使用java对我来说更复杂。你有其他的建议吗?这不是那么困难,你会有一个非常强大的搜索引擎。绝对不涉及java编程。更简单的方法是mysql方法。放置您查询的upp视图。谢谢Fontanka,我将尝试使用SolPHP。@Frankie,您有什么建议?@garcon1986搜索引擎必须使用某种数据库才能有任何速度。谷歌斯芬克斯(google Sphinx)或像阿诺德(Arnaude)建议的Lucene(Lucene)这样的公司,有几个会做得很好。在文件上这样做是行不通的。@Frankie,你有什么建议吗?@garcon1986搜索引擎必须使用某种数据库才能有任何速度。谷歌斯芬克斯(google Sphinx)或像阿诺德(Arnaude)建议的Lucene(Lucene)这样的公司,有几个会做得很好。在文件上这样做是行不通的。