php开发搜索引擎,php实现搜索的方式

本文目录一览:

php中如何使用sphinx搜索引擎

一. 安装、配置

1.ubuntu安装sphinx

如果没有安装aptitude ,需要先安装 aptitude

2.配置

3.执行命令分词,会在/var/lib/sphinxsearch/data/test1 目录下生成一堆索引文件

sudo indexer -c /etc/sphinxsearch/sphinx.conf test1

test1为上述配置文件的index名字

4.命令行测试搜索

sudo search -c /etc/sphinxsearch/sphinx.conf google

二.在php中使用,安装php、sphinx的依赖库

安装 aptitudeapt-get install aptitude

sudo aptitude install libsphinxclient-dev libsphinxclient-0.0.1 -y

2.安装php sphinx的扩展

安装 pecl

sudo apt-get install php-pear php5-dev

在安装sphinx

sudo pecl install sphinx

3.在配置文件php.ini中添加sphinx的扩展,

我的php.ini文件为

sudo vim /etc/php5/fpm/php.ini

获取自己的php.ini文件位置使用

php5-fpm -i|grep ini

添加:

extension=sphinx.so

4.重启php5-fpm,查看php是否加载sphinx模块

sudo /etc/init.d/php5-fpm restart              

5.将search程序运行在后台

sudo searchd -c /etc/sphinxsearch/sphinx.conf

默认监听配置文件中的端口:9312

6.在thinkphp中调用搜索

搜索完毕,返回结果(默认返回20条,修改返回条数用添加 $s-SetLimits(0, 1000, 1000);),搜索速度相当快,索引80w条数据的title和description两个字段耗时不到10s,该搜索引擎支持增量索引,多种模式的搜索,网上的资料也非常多

拥有自己的搜索引擎

虽然现在已经很少人使用PC电脑去找资料了,但有时候还是不可避免要用到,当你搜索资料时你会发现现在的搜索引擎首先出现的是一大堆的广告,是不是很烦。

现在就让我们来安装一个属于自己的搜索引擎,不用买域名、不用买服务器只需要你有一台PC电脑就可以了。

首先下载一个phpStudy2018.exe软件(比较新的是这个phpStudy-x64-8.1.1.2.exe),用这个软件来搭建一个运行PHP的服务器平台。然后再下载一个开源的PhpSou搜索引擎(整合Sphinx) V3.1或其它你自己觉得合适的源码。

安装好phpStudy后,同时把PhpSou搜索引擎源码复制到phpStudyPHPTutorialWWW,然后点击 其它选项菜单-站点域名管理,网站域名填入127.0.0.1(这个ip地址就是我们等会打开搜索引擎要用到的)。网站目录E:phpStudyPHPTutorialWWW(这个www是放你搜索引擎源码的文件夹)

设置好后点击新增-保存设置并生成配置文件,接下来就是运行配置搜索引擎了。点击 其它选项菜单-My homePage(也可以在游览器地址栏直接输入刚才设置的ip地址127.0.0.1)如果是第一次运行,按软件要求设置数据库名称、密码什么的就可以了,然后进入PhpSou后台管理,按自己需要填好网站的基本设置.

这时数据库是空的(有些源码可能会带有一些数据)我们要在常规数据管理这里的网站管理、网址管理、网页管理这三项都添加一些网址进去,然后点击 网络爬虫管理-抓取网站-开启网络爬虫或点击 网络爬虫管理-抓取网页doang-开启网络爬虫

然后就会自动的不停的去抓取网址或者网页了。

是不是很清爽,没有了烦人的广告,是不是很厉害。

其实说得这么厉害,可惜对个人来说还是自娱自乐的性质。

如何用PHP制作搜索引擎

这样看你做什么样的搜索,如果要做全站搜索的话,只用数据库搜索做起来会比较困难,会遇到要检索的数据存在不同的表中,甚至不同的库中,如果是全站搜索的话,建议用sphinx或者lucener,如果只是某个表内容搜索的话,sql:select * from 表名 where 列名 like ‘%值%’ ;然后循环 mysql_fetch_array() 或 mysql_fetch_assoc() 或 mysql_fetch_object() 或 mysql_fetch_row()都取一行记录,把记录循环出来就可以了。

怎么在网页上用PHP做个搜索功能?

通过from表单,将查询的关键词,通过 like 跟数据进行模糊查询对比\x0d\x0a从topics表中查询字段subject与传进来的参数’$_POST[‘topic’]进行比较模糊查询\x0d\x0a设subject字段数据为:数学,英语,物理,化学,英文\x0d\x0a$subject=$_POST[‘topic’]; \x0d\x0a$sql = “select * from topics where subject like ‘%” .$subject. “%'”;\x0d\x0a$result = mysql_query($sql);\x0d\x0a若从表单提交的‘topic’值为“学”,得到的结果将是:数学,化学\x0d\x0a多个字段匹配查询:\x0d\x0a$sql = “select id,subject from topics where (id like ‘%” .$id. “%’) or (name like ‘%” .$name. “%’) or (subject like ‘%” .$subject. “%’) order by id desc”;\x0d\x0a结果依据字段id的顺序

原创文章,作者:XYBJ,如若转载,请注明出处:https://www.506064.com/n/147695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
XYBJXYBJ
上一篇 2024-11-02 13:11
下一篇 2024-11-02 13:11

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python缓存图片的处理方式

    本文将从多个方面详细阐述Python缓存图片的处理方式,包括缓存原理、缓存框架、缓存策略、缓存更新和缓存清除等方面。 一、缓存原理 缓存是一种提高应用程序性能的技术,在网络应用中流…

    编程 2025-04-29
  • Python调用搜索引擎

    本文主要介绍如何使用Python编程语言调用搜索引擎,实现自动检索和提取数据等功能。 一、搜索引擎简介 搜索引擎是指一种网站或程序,可以通过输入关键词,搜索并显示相关网页、图片、视…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python在线编辑器的优势与实现方式

    Python在线编辑器是Python语言爱好者的重要工具之一,它可以让用户方便快捷的在线编码、调试和分享代码,无需在本地安装Python环境。本文将从多个方面对Python在线编辑…

    编程 2025-04-28
  • Java表单提交方式

    Java表单提交有两种方式,分别是get和post。下面我们将从以下几个方面详细阐述这两种方式。 一、get方式 1、什么是get方式 在get方式下,表单的数据会以查询字符串的形…

    编程 2025-04-27
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • 用Pythonic的方式编写高效代码

    Pythonic是一种编程哲学,它强调Python编程风格的简单、清晰、优雅和明确。Python应该描述为一种语言而不是一种编程语言。Pythonic的编程方式不仅可以使我们在编码…

    编程 2025-04-27
  • Java多版本支持实现方式

    本文将从以下几个方面阐述如何实现Java多版本支持,并给出可行的代码示例。 一、多版本Java环境概述 Java是一门跨平台的编程语言,但是在不同的应用场景下,可能需要使用不同版本…

    编程 2025-04-27

发表回复

登录后才能评论