php - 如何创建语义搜索

标签 php mysql sql database

我想创建一个搜索框,而不是在查询中使用WHERE句来匹配字段中的确切短语,而是希望搜索框能够执行语义搜索,以便当用户输入部分短语时,它会在能够匹配词组含义的地方显示合适的结果。尝试通过Google搜索时Google的工作原理。这有可能实现吗,有人有什么想法吗?

以下是我目前正在使用的代码,它能够使用数据库查看行是否与在搜索框中输入的确切短语匹配:

  <?php


    //connected to DB

          foreach (array('questioncontent') as $varname) {
            $questioncontent = (isset($_POST[$varname])) ? $_POST[$varname] : '';
          }

    ?>


    <p>Search for a previous question by entering in a phrase in the search box below and submitting the phrase</p>

    <form action="previousquestions.php" method="post" id="modalform">
          <p>Search: <input type="text" name="questioncontent" value="<?php echo $questioncontent; ?>" /></p>
          <p><input id="searchquestion" name="searchQuestion" type="submit" value="Search" /></p>
          </form>


    <?php 
                if (isset($_POST['searchQuestion'])) {

                  $questionquery = "SELECT QuestionContent FROM Question
              WHERE(QuestionContent = '".mysql_real_escape_string($questioncontent)."')";

          $questionnum = mysql_num_rows($questionresult = mysql_query($questionquery));

          if($questionnum !=0){

          $output = "";

            while ($questionrow = mysql_fetch_array($questionresult)) {

    $output .= "
          <table>
          <tr>
          <td>{$questionrow['QuestionContent']}</td>
          </tr>";
            }
            $output .= "        </table>";

            echo $output;

      }

    }

最佳答案

如果您正在寻找PHP搜索引擎教程,请查看此YouTube video-它可能会有所帮助。

关于php - 如何创建语义搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10742561/

相关文章:

Mysql:行分组时提供的值有多可靠?

php - 在发布/更新 Wordpress 页面时运行代码

php - 在 MySQL 中以特定方式透视表

php - 如何在 Wordpress 中修复 "template is missing"?

mysql - 基于 2 列的重复行的 SQL 查询

php - 回显 SELECT CONCAT 查询的结果?

php - FluentPDO 中的子查询

php - MySQL自定义时间戳值

mysql - MySQL 中的 case 函数

mysql - 您可以在 SELECT 中分配一个变量,然后在同一个 SELECT 中使用它吗?