跨域请求获取Solr json检索结果并高亮显示

简介:

 Solr提供了json格式的检索结果,然而在跨域的情况下如何调用呢?我们可以利用jquery提供的jsonp的方式获取Solr检索结果。

复制代码
<script type="text/javascript" src="./resources/js/jquery-1.8.2.min.js"></script>
    <input type="text" size="50" value="" id="keyword" name="keyword" />
    <input type="button" value="搜索" id="search" />
    <div id="result"></div>
    <script type="text/javascript">
        $("#search").click(function() {
            var keyword = $("#keyword").val();
            var solrServer = "http://localhost:8080/solr/solrfirstcore/select";
            $.ajax({
                type : "get",
                url : solrServer,
                data : {
                    wt : "json",
                    q : "search_item:" + keyword,
                    indent : true,
                    "json.wrf" : 'callback',
                    "hl" : "true",
                    "hl.fl" : "title, summary",
                    "hl.simple.pre" : "<font color=\"red\">",
                    "hl.simple.post" : "</font>",
                    "start":"0",
                    "rows":"20"
                },
                dataType : "jsonp",
                //jsonp : "callback",
                jsonpCallback : "callback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
                error : function() {
                    $("#result").html("<font color=\"red\">没有您要查询的结果。</font>");
                }
            });
        });

        function callback(data) {
            var responseHeader = data.responseHeader;
            var response = data.response;
            var highlighting = data.highlighting;
            var docs = response.docs;
            var result = new Array();
            result.push("结果数:" + response.numFound + "条,耗时:"
                    + responseHeader.QTime / 1000 + "");
            var hlString = "";
            for ( var index in docs) {
                var doc = docs[index];
                var docid = doc.id;
                hl_string = "【ID】:" + doc.id;
                var hdoc = highlighting[docid];
                var title = doc.title;
                var summary = doc.summary;
                if(hdoc.title){
                    title = hdoc.title;
                }
                if(hdoc.summary){
                    summary = hdoc.summary;
                }
                hl_string += ", 【标题】:" + title + ", 【描述】:" + summary;
                
                result.push("------------------------------------------------------------");
                result.push(hl_string);
            }

            $("#result").html("</br>" + result.join("</br>"));
        }
    </script>






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/5051545.html,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
336 2
|
5月前
|
机器学习/深度学习 JSON JavaScript
LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
LangChain-21 Text Splitters 内容切分器 支持多种格式 HTML JSON md Code(JS/Py/TS/etc) 进行切分并输出 方便将数据进行结构化后检索
95 0
|
JSON 关系型数据库 MySQL
MySQL全文搜索与JSON支持:高效检索与灵活数据处理
本文深入探讨了MySQL数据库中的全文搜索与JSON支持,通过详细的代码示例,阐述了全文搜索的原理、全文索引的创建,以及JSON数据类型的使用与操作。全文搜索在数据库中的重要性日益凸显,MySQL提供了全文索引来实现高效的文本数据检索,通过MATCH AGAINST语句,可以轻松地进行全文搜索操作。此外,MySQL的JSON支持为半结构化数据的存储和查询提供了灵活的解决方案,您可以存储JSON对象、数组等数据,并使用JSON函数来查询和修改数据。
1157 0
|
JSON 前端开发 JavaScript
使用YQL解决跨域请求json转jsonp问题
使用YQL解决跨域请求json转jsonp问题
117 0
|
Web App开发 JavaScript 关系型数据库
|
JSON JavaScript 数据格式
跨域请求获取Solr json检索结果并高亮显示
  Solr提供了json格式的检索结果,然而在跨域的情况下如何调用呢?我们可以利用jquery提供的jsonp的方式获取Solr检索结果。 $("#search").
851 0
|
JSON JavaScript PHP
AJAX 跨域请求 - JSONP获取JSON数据 jsson和jsonp
Asynchronous JavaScript and XML (Ajax ) 是驱动新一代 Web 站点(流行术语为 Web 2.0 站点)的关键技术。
1682 0