【问题标题】:Spotlight search with PHP使用 PHP 进行 Spotlight 搜索
【发布时间】:2011-02-20 23:26:04
【问题描述】:

我想添加一个聚光灯搜索功能 - 搜索结果以丰富的内容(如缩略图等)显示在下拉菜单中,每个 keyup 事件发生变化 - 就像 apple.com 搜索一样 - 到一个站点,在 MySQL InnoDB 中有数据表。所以基本上这是根据已经输入的查询部分显示搜索结果(所以不是自动完成)。

数据分散到不同的表格中,用于类别、帮助页面、博客页面等。搜索脚本必须只考虑列的子集。

既然似乎是一个流行的需求,我想应该有一些PHP搜索引擎项目(最好是开源的并且支持memcached),可以在定期导出相关数据的基础上集成到现有系统中工作数据库/表。

有什么解决方案吗?你会推荐哪一个?或者换一种方式实现会更好?

谢谢

【问题讨论】:

    标签: php search spotlight


    【解决方案1】:

    这将是 AJAX 的工作。查看 JQuery 的实现:http://api.jquery.com/category/ajax/

    创建一个 PHP 脚本来显示您的结果,就好像有人键入它们并单击了“搜索”按钮一样。 然后,对该脚本使用 ajax 调用并替换(或适当的 HTML 标记)的 innerHTML

    类似这样的:

    你好.php

    <?php   echo "Hello World"; ?>
    

    index.html

    <html>
    <head>
    <script language="javascript">
      function update_results(){
        $.ajax({
         url: 'hello.php',
         success: function(data) {
           $('#results').html(data);
         }
        });
      }
    </script>
    </head>
    <body>
      <label>Spotlight: <input id="q" type="text" onkeypress="update_results()" /></label>
      <div id="results"></div>
    </body>
    </html>
    

    其中 hello.php 是您设置的带有漂亮结果的页面。

    【讨论】:

    • 其实,没有。我不想显示自动完成的选项,而是显示部分给定关键字的搜索结果。
    【解决方案2】:

    这正是 DBruns 给你的,上面。编写这样一个复杂系统的工作是创建您自己的 hello.php,它使用可以跨多个表工作的​​自适应查询来提供这些搜索结果。

    【讨论】:

    • 您可能应该将此作为评论发布。 :)
    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 2019-11-16
    • 1970-01-01
    • 2014-02-18
    • 2016-03-13
    • 2017-02-09
    • 2012-04-11
    • 2015-10-16
    相关资源
    最近更新 更多