精华内容
下载资源
问答
  • 总体分为三步骤:第一步准备环境,主要会用到云搜索服务、弹性云服务器和虚拟私有云。云搜索服务(Cloud Search Service)是一基于Elasticsearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本...

    总体分为三个步骤:第一步准备环境,主要会用到云搜索服务、弹性云服务器和虚拟私有云。云搜索服务(Cloud Search Service)是一个基于Elasticsearch且完全托管的在线分布式搜索服务,为用户提供结构化、非结构化文本的多条件检索、统计、报表。完全兼容开源Elasticsearch软件原生接口。弹性云服务器(Elastic Cloud Server)是一种可随时自助获取、可弹性伸缩的云服务器,帮助用户打造可靠、安全、灵活、高效的应用环境,确保服务持久稳定运行,提升运维效率。虚拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可配置VPC内的IP地址段、子网、安全组等子服务,可申请弹性带宽和弹性IP搭建业务系统。

    第二步索引数据。索引数据是将数据源中的数据,在Elasticsearch集群中建立索引。通常会使用数据同步工具或者ETL工具,从MySQL拉取数据,写入Elasticsearch。在本次课程里,我们的数据源是磁盘上的很多JSON文件,因此,我们写了一个程序IndexingApp,从磁盘上读取文件内容后,调用Elasticsearch的写接口,将输入写入Elasticsearch集群。

    第三步搜索请求。搜索请求是从搜索框中接收用户的输入,然后构造搜索查询语句,调用Elasticsearch的搜索接口下发检索数据请求到Elasticsearch。在本次课程里,我们试用SearchApp来模拟一个网站的前后台。结合用户输入和搜索范围选择,来显示相应的搜索结果。

    展开全文
  • 自己做个一个zblogPHP的搜索引擎 window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[...

    自己做个一个zblogPHP的搜索引擎

     2015-04-24 20:30

    我现在有这样一个需求,在文章里面加入一些字段,标注文章(或者准备点说叫“商品”)的长、宽、高,然后通过一个按钮搜索,将这些符合属性的东西列举出来。前两天一直迷茫于到底按钮是怎么把信息传递出去的,PHP又是如何来获取信息的,今天经过测试终于发现原来是这个样子的!!

    代码如下:

    <p>
    <form action="" method="post">
        <label for="Xheight">高度:</label><input type="text" size="8" id="Xheight" name="Xheight" rows="1" /> cm | <label for="Xwidth">宽度:</label><input type="text" size="8" id="Xwidth" name="Xwidth" rows="2" /> cm | <label for="Xdepth">深度:</label><input type="text" size="8" id="Xdepth" name="Xdepth" rows="3" /> cm 
        <input type="submit" name="submit" value="开始搜索" rows="4" />
    </form>
    </p>
    {php}
        echo $_POST['Xheight']."<br />";
        echo $_POST['Xwidth']."<br />";
        echo $_POST['Xdepth']."<br />";
        echo $_POST['Xheight']*$_POST['Xwidth']*$_POST['Xdepth']."<br />";
    {/php}

    form里面,我定义了相对的高度Xheight,宽度Xwidth,深度Xdepth,在返还的时候,应该action里面是控值,所以还是返还在这个页面。因此,就出现了对应的值,然后就直接用PHP代码调出来即可。

    展开全文
  • 而在今年,谷歌搜索、百度搜索也是世界上使用频率最高的搜索系统,除此之外,还有非常多的搜索引擎,尽管搜索引擎各式各样,但是他们的原理跟步骤都是差不多的,今天我们来简单地介绍介绍,一个搜索引擎大致的架...

    "百度一下,你就知道"。这句耳熟能详的话语背后,说的就是搜索引擎。搜索引擎,并不是一个特别新的概念,早在1990年,万维网还没有出现的时候,就由美国一个大学几个普通的学习做出来一个能索引搜索文件的系统。而在今年,谷歌搜索、百度搜索也是世界上使用频率最高的搜索系统,除此之外,还有非常多的搜索引擎,尽管搜索引擎各式各样,但是他们的原理跟步骤都是差不多的,今天我们来简单地介绍介绍,一个搜索引擎大致的架构与工作的流程。

    58dab1f8646a7e222d6874993544fd2d.png

    首先是元数据收集,没有数据,搜索什么?这个收集的方式有很多种,如果我们是搜索互联网上面的网页,那么我们可能需要一些爬虫软件去爬取数据,爬取到数据之后呢,我们要对关键信息进行提取,大部分网页上面都是HTML的结构,我们只需要正文的内容就行了,向一些导航栏呀,侧边栏呀,能够提取的有效价值并不高。如果我们只是建一个自己文章的搜索引擎,那就更加简单了,可以直接使用所有文章的文件内容,无需去实现爬虫。

    6a0ffcd9db9dfa688a85affc6d25652c.png

    接下来是索引,因为整个文章可能非常的长,我们不可能每次搜索都进行全文的对比,所以我们常常对文章进行分词,建立对应的关键字索引。网上已经有很多开源的工具分词工具可以使用,例如Java语言的word,有兴趣的话大家可以了解下。这里有一个简单的细节优化,有一些词是不用建立索引的,例如你,我,他,是之类的词语,太普遍了,价值并不是很高,反而是一些专有名词,如算法、数据结构、架构师这类的词语价值更高。这里我们可以简单存储为下面的格式。

    2d5e6436b9607b138cfe724183ead30e.png

    我们简单地使用3张表进行存储,地址表、单词列表、还有单词与地址的关系表。每次有一个查询,我们就先找单词表,然后再找到单词与连接表中所有的关系,然后返回对应的地址列表即可。

    接下来我们会有一个问题,我们搜索到很多很多的东西,如何展示给用户呢?例如某个关键词,可能搜索出10万个不同的网页,到底用户需要哪一个呢?这个时候就需要进行搜索排名了。常见的搜索排名有哪些呢?例如:

    1.关键字的出现频率,出现的越多次,得分越高。

    2.关键字出现的时机,越早出现得分越高,出现的越均匀,等分越高

    3.内容的创建时间,这个比较适合新闻类的搜索。

    当然还有很多种,例如有些搜搜引擎公司谁给的钱多,谁就排在前面。

    6357469c6f7d3acb1677b79e3108f265.png

    基本上,用了实现了这三步,一个简单的搜索引擎就完成了。但这远远不够,在今天这个时代,我们肯定希望搜索引擎越来越聪明!用AI武装到牙齿!今天,我们也经常用神经网络算法来优化我们的搜索引擎,我们可以把用户的搜索的关键字作为神经网络的输入,把用户最终的点击结果作为神经网络的输出,这样子反复训练,我们的搜搜系统就会越来越智能!

    79905292fc4ecd2bc777b7f081ccf7f1.png

    当然,现实中,搜索引擎是比这个复杂地多了,毕竟有海量的查询跟存储都需要优化,索引、排名的算法各家也有各家的特色,后面我们可以讲一讲一些常见的内容。说点题外话,相信你读到这里,你会对现网百度的困境也多了一些理解,为什么进入移动互联网时代后百度越来越困难,主要表现在第1跟第4点,首先是百度能获取到的数据越来越少了,其次是用户使用百度的频率也降低,恶性循环,百度也越来越难以掌握用户的动机了。

    好了今天我的介绍就到这里了,后面我们会用具体的代码来简单实现一下,如果你有兴趣,那就关注我吧。

    展开全文
  • 现在内容比较多了,想叫我帮他个搜索引擎。说实在的,这是一个不难的问题,于是就随手了一个。现在我在其它论坛上也看到有人想这个,于是就想说说这方面的知识,重在了解一下方法。 写程序前先要想好一个...

    朋友用dreamweaver做了一个网站,没有动态的内容,只是一些个人收藏的文章,个人介绍等等。现在内容比较多了,想叫我帮他做一个搜索引擎。说实在的,这是一个不难的问题,于是就随手做了一个。现在我在其它论坛上也看到有人想做这个,于是就想说说这方面的知识,重在了解一下方法。

    写程序前先要想好一个思路,下面是我的思路,可能谁有更好的,但注意这只是一个方法问题 :遍历所有文件 &#61664; 读取内容 &#61664; 搜索关键字,如果匹配就放入一个数组 &#61664; 读数组。在实现这些步骤之前,我假定你的网页都是标准的,就是有标题(<title></title>),也有(<bod *></body>),如果你是用dreamweaver或者frontpage设计的,那么除非你故意删掉,它们都在存在的。下面就让我们一步步来完成并在工程中改善这个搜索引擎。

    一,设计搜索表单
    在网站的根目录下建个search.htm,内容如下
    <html>
    <head>
    <title>搜索表单</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>

    <body bgcolor="#FFFFFF" text="#000000">
    <form name="form1" method="post" action="search.php">
    <table width="100%" cellspacing="0" cellpadding="0">
    <tr>
    <td width="36%">
    <div align="center">
    <input type="text" name="keyword">
    </div>
    </td>
    <td width="64%">
    <input type="submit" name="Submit" value="搜索">
    </td>
    </tr>
    </table>
    </form>
    </body>
    </html>


    二,搜索程序
    再在根目录下建个search.php 的文件,用来处理search.htm表单传过来的数据.内容如下
    <?php
    //获取搜索关键字
    $keyword=trim($_POST[“keyword”]);
    //检查是否为空
    if($keyword==””){
    echo”您要搜索的关键字不能为空”;
    exit;//结束程序
    }
    ?>

    这样如果访问者输入的关键字为空时,可以做出提示。下面是遍历所有文件。

    我们可以用递归的方法遍历所有的文件,可以用函数opendir,readdir,也可以用PHP Directory的类。我们现在用前者.
    <?php
    //遍历所有文件的函数
    function listFiles($dir){
    $handle=opendir($dir);
    while(false!==($file=readdir($handle))){
    if($file!="."&&$file!=".."){
    //如果是目录就继续搜索
    if(is_dir("$dir/$file")){
    listFiles("$dir/$file");
    }
    else{
    //在这里进行处理
    }
    }
    }
    }

    ?>

    在红字的地方我们可以对搜索到的文件进行读取,处理.下面就是读取文件内容,并检查内容中是否含有关键字$keyword,如果含有就把文件地址赋给一个数组。
    <?php
    //$dir是搜索的目录,$keyword是搜索的关键字 ,$array是存放的数组
    function listFiles($dir,$keyword,&$array){
    $handle=opendir($dir);
    while(false!==($file=readdir($handle))){
    if($file!="."&&$file!=".."){
    if(is_dir("$dir/$file")){
    listFiles("$dir/$file",$keyword,$array);
    }
    else{
    //读取文件内容
    $data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));
    //不搜索自身
    if($file!=”search.php”){
    //是否匹配
    if(eregi("$keyword",$data)){
    $array[]="$dir/$file";
    }
    }
    }
    }
    }
    }
    //定义数组$array
    $array=array();
    //执行函数
    listFiles(".","php",$array);
    //打印搜索结果
    foreach($array as $value){
    echo "$value"."<br> ";
    }
    ?>

    现在把这个结果和开头的一段程序结合起来,输入一个关键字,然后就会发现你的网站中的相关结果都被搜索出来了。我们现在在把它完善一下。
    1,列出内容的标题

    if(eregi("$keyword",$data)){
    $array[]="$dir/$file";
    }
    改成
    if(eregi("$keyword",$data)){
    if(eregi("<title>(.+)</title>",$data,$m)){
    $title=$m["1"];
    }
    else{
    $title="没有标题";
    }
    $array[]="$dir/$file $title";
    }
    原理就是,如果在文件内容中找到<title>xxx</title>,那么就把xxx取出来作为标题,如果找不到那么就把标题命名未”没有标题”.

    2,只搜索网页的内容的主题部分。
    做网页时一定会有很多html代码在里面,而这些都不是我们想要搜索的,所以要去除它们。我现在用正则表达式和strip_tags的配合,并不能把所有的都去掉。

    $data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));
    //不搜索自身
    if($file!=”search.php”){
    //是否匹配
    if(eregi("$keyword",$data)){
    改为
    $data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));
    if(eregi("<body([^>]+)>(.+)</body>",$data,$b)){
    $body=strip_tags($b["2"]);
    }
    else{
    $body=strip_tags($data);
    }
    if($file!="search.php"){
    if(eregi("$keyword",$body)){

    3,标题上加链接
    foreach($array as $value){
    echo "$value"."<br> ";
    }
    改成
    foreach($array as $value){
    //拆开
    list($filedir,$title)=split(“[ ]”,$value,”2”);
    //输出
    echo "<a href=$filedir>$value</a>"."<br> ";
    }
    4防止超时
    如果文件比较多,那么防止PHP执行时间超时是必要的。可以在文件头加上
    set_time_limit(“600”);
    以秒为单位,所以上面是设10分钟为限。


    所以完整的程序就是
    <?php
    set_time_limit("600");
    //获取搜索关键字
    $keyword=trim($_POST["keyword"]);
    //检查是否为空
    if($keyword==""){
    echo"您要搜索的关键字不能为空";
    exit;//结束程序
    }
    function listFiles($dir,$keyword,&$array){
    $handle=opendir($dir);
    while(false!==($file=readdir($handle))){
    if($file!="."&&$file!=".."){
    if(is_dir("$dir/$file")){
    listFiles("$dir/$file",$keyword,$array);
    }
    else{
    $data=fread(fopen("$dir/$file","r"),filesize("$dir/$file"));
    if(eregi("<body([^>]+)>(.+)</body>",$data,$b)){
    $body=strip_tags($b["2"]);
    }
    else{
    $body=strip_tags($data);
    }
    if($file!="search.php"){
    if(eregi("$keyword",$body)){
    if(eregi("<title>(.+)</title>",$data,$m)){
    $title=$m["1"];
    }
    else{
    $title="没有标题";
    }
    $array[]="$dir/$file $title";
    }
    }
    }
    }
    }
    }
    $array=array();
    listFiles(".","$keyword",$array);
    foreach($array as $value){
    //拆开
    list($filedir,$title)=split("[ ]",$value,"2");
    //输出
    echo "<a href=$filedir target=_blank>$title </a>"."<br> ";
    }
    ?>

    到此为止,你已经做好了自己的一个搜索引擎,你也可以通过修改内容处理部分来改进它,可以实现搜索标题,或者搜索内容的功能。也可以考虑分页。这些都留给你自己吧。

    这里说明一下用preg_match代替eregi,会快很多。这里只是为了通俗易懂,所以使用了常用的eregi.

    展开全文
  • 做个磁力链搜索引擎 1

    万次阅读 2019-04-23 21:24:23
    最近突然想做个磁力链搜索引擎 预计想分3步走 1.写个磁力链下载器 2.写个DHT网络爬虫 3.搭个磁力链搜索网站 自己一个人鼓捣了几天了,第一步的进度才迈出第一步。。。。不知道最后能不能实现。 part1 磁力链原理的...
  • 但是总感觉自己对这东西的理解还是不够深刻,受一朋友要自己做操作系统的启发,我萌生了自己做简单的搜索引擎的想法。我知道自己的缺点,我的缺点就是想法太多,付诸实施的却很少,大部分都是想一想然后就...
  • 谈到网页搜索引擎时,大多数人都会想到雅虎。的确,雅虎开创了一互联网络的搜索时代。然而,雅虎目前用于搜索网页的技术却并非该... 让我们自己来设计、开发一强劲、高效的搜索引擎和数据库恐怕短时间内在技术、资
  • 和其他网站一样,搜索引擎本身也需要SEO。以前本博客上就替朋友发过雅虎、微软招聘SEO人员的帖子。 Google也是一样。前几天Google工程师在Think with Google博客上发了一篇帖子,讲述谷歌自己怎样SEO。虽然是...
  • 平时我们要搜索某个东西的时候,我们往往会用到百度百科,比如搜“快播”,会出现以下页面:快播词条还有输入...那么,我们能不能利用爬虫,自己制作一简单的搜索引擎呢?Why not?!我们自己制作简单的搜索引擎...
  • 找到目标从事软件开发多年以来,我一直都在想...但互联网服务多了:电子邮件,即时通讯,网络游戏,搜索引擎,论坛,博客,门户,电子商务等等。网络游戏不想,也不了,且负面新闻不断,如某某网吧玩网游淬死之类,
  • 今天为大家介绍一利用Python自制百度百科搜索引擎的小项目,平时我们需要搜索某个不懂的东西,往往会借助百度百科来解决,下面就来看看这简单的实现过程吧 导入第三方库   搜索判断   解析...
  • <p>I have this classifieds website and I have now been searching for ways to implement a search function of the classifieds. ... <p>I have looked into third party search engines, and it feels they ...
  • 如果你的网站已经被Google收录全站的话,可以利用Google提供的强大而快速的搜索功能为自己的网站制作一站内搜索引擎。利用JavaScript脚本语言可以很轻松地搞定。在需要放置站内搜索引擎页面的加入如下代码即可: ...
  • 现在磁力站很多,但是搜出来的东西乱七八糟的,广告也多,我看多了觉得挺烦的,正好周末无聊,想着自己做,下面附上本次利用Python爬虫磁力站点的教程。 下面是我写爬虫时候主要引用的库 当然,抓取的关键词...
  • 看到这标题大家可能以为我是在说网站被搜索引擎收录的办法,其实不是这样。我自己其实也是在寻求网站被搜索引擎收录的办法。 07年刚毕业由于工作不好找,留在四川理工中文系一名实验员,说来大家可能感到很...
  • 逗逼阅读是一基于其他搜索引擎内置的小说搜索引擎,逗逼阅读目的是让阅读更简单,优雅,让每位读者都有舒适的阅读体验,目前支持在线搜书,在线阅读等功能 演示网站: : 初始体验地址: ://novel.luckymorning....
  • 记得2010年10月9号,淘宝全网搜索引擎一淘网上线,当时不怎么关注,只是在网站上看到过新闻而己,前两月,觉得是时候走确定自己以后要走的方向了,于是决定以后加入到搜索的行列中,此时开始关注一淘网的技术,来...
  • 创建自己搜索引擎

    2012-07-30 11:03:52
    看看google,百度的多火热啊,它们靠的什么赚钱,靠的是搜索引擎,这东西难不难?...我们不用从无到有的写自己搜索引擎,而是使用这开源免费的库,基于apache license。你可以使用的编程语言也是相对自由的, ja
  • 怎么做搜索引擎优化

    2019-10-11 16:00:14
    如何有效的seo,小编分享一下自己的看法。  1:数据监控,使用诸如GA,CNZZ等数据统计工具。当然了,数据毕竟只是数据,而且现在百度给的数据并不是那么准确又或者说,你也不知道百度是不是给了你真的数据,但是...
  • 我毕业设计打算垂直搜索引擎,关于手机方面的,抓取几主流电商的网站的手机信息,导入到自己搜索引擎主要实现搜索的比价,以及相关手机的性能参数。导师说最大的困难时抓取信息,这几天分析了京东商城手机...
  • 最近免费的题库答案解析网站解题号 http://www.jietihao.com/ask. 为了方便用户能够很方便的从海量题库中搜索自己想要的内容,特意对搜索框进行了优化。首先搜索采用了xunseatch引擎在中文分词搜索上有了很...
  • 搜索引擎优化必操作:太之云:www.laseo-sem.com一、合理的更新关键字相关的文章网站优化人员不只仅可以在网站主页,图片、标题、阶段中添加长尾关键词,还可以经过网站文章内容更新许多的与网站主题相关联的文章...
  • 最为简单的方法就是去搜索引擎上搜索该公司的名称查询,作为企业来说都希望将最好的形象展示给客户,官方网站作为企业在网上形象展示最为重要阵地,都希望客户在搜索公司名称的时候,第一眼就看到自己企业官网,那么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,804
精华内容 1,121
关键字:

自己做个搜索引擎