使用restful api进行简单搜索

时间:2013-05-12 17:08:50

标签: ajax rest solr search-engine

我是一个完整的菜鸟,尝试使用Ajax和Jquery。通过在线教程,我成功地使用MySQL作为后端数据库创建了一个搜索引擎;

<script>
$(function() {
$(".search_butn").click(function() {
    // getting the value that user typed
    var searchString    = $("#input_box").val();
    // forming the queryString
    var data            = 'search='+ searchString;
    // if searchString is not empty
    if(searchString) {
        // ajax call
        $.ajax({
            type: "POST",
            url: "search.php",     //server-side script to db (mysql)
            data: data,
            beforeSend: function(html) { // this happens before actual call
                $("#results").html('');
                $("#searchresults").show();
                $(".word").html(searchString);
           },
           success: function(html){ // this happens after we get results
                $("#results").show();
                $("#results").append(html);
          }
        });
    }
    return false;
 });
});
 </script>

<form method="post" action="search.php">
<div id="DIV">
    <input type="text" name="search" id="input_box" class='input_box'/>
    <input type="submit" value="Search" class="search_butn" />
</div>
</form><br/>

<div>
 <div id="searchresults"> </div>
 <ul id="results" class="update">
 </ul>
</div>

现在我想通过使用像Solr http://localhost:9090/solr/select?q=employee%3A%28james+blunt%29&wt=json&indent=true这样的RESTful api进行搜索来更进一步 我需要有人请告诉我如何才能做到这一点。

1 个答案:

答案 0 :(得分:1)

要创建RESTful API,您可以编写一些PHP代码来删除请求的URL。 您应该创建Apache - 我认为您的Web服务器 - 将具有特定前缀的所有URL重定向到此PHP脚本。

因此,假设用户请求http://www.somename.com/my_api/some/shiny?suffix,您希望Apache将此网址重定向到脚本my_api.php,以便my_api.php可以删除整个网址并根据该网址执行操作。 对于Apache这样做,请阅读apache mod_rewrite:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

有关RESTful API的更详细处理,我可以建议本教程:http://www.restapitutorial.com/