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

简介:   Solr提供了json格式的检索结果,然而在跨域的情况下如何调用呢?我们可以利用jquery提供的jsonp的方式获取Solr检索结果。 $("#search").

  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>

 

相关文章
|
JSON 关系型数据库 MySQL
MySQL全文搜索与JSON支持:高效检索与灵活数据处理
本文深入探讨了MySQL数据库中的全文搜索与JSON支持,通过详细的代码示例,阐述了全文搜索的原理、全文索引的创建,以及JSON数据类型的使用与操作。全文搜索在数据库中的重要性日益凸显,MySQL提供了全文索引来实现高效的文本数据检索,通过MATCH AGAINST语句,可以轻松地进行全文搜索操作。此外,MySQL的JSON支持为半结构化数据的存储和查询提供了灵活的解决方案,您可以存储JSON对象、数组等数据,并使用JSON函数来查询和修改数据。
1731 0
|
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向量化 增强检索
1886 2
|
机器学习/深度学习 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) 进行切分并输出 方便将数据进行结构化后检索
1009 0
|
Web App开发 JavaScript 关系型数据库
|
11月前
|
机器学习/深度学习 JSON 监控
淘宝拍立淘按图搜索与商品详情API的JSON数据返回详解
通过调用taobao.item.get接口,获取商品标题、价格、销量、SKU、图片、属性、促销信息等全量数据。
|
10月前
|
JSON API 数据格式
淘宝拍立淘按图搜索API系列,json数据返回
淘宝拍立淘按图搜索API系列通过图像识别技术实现商品搜索功能,调用后返回的JSON数据包含商品标题、图片链接、价格、销量、相似度评分等核心字段,支持分页和详细商品信息展示。以下是该API接口返回的JSON数据示例及详细解析:
|
10月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南

热门文章

最新文章