跨域请求获取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>

 

相关文章
|
2月前
|
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向量化 增强检索
79 2
|
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) 进行切分并输出 方便将数据进行结构化后检索
32 0
|
JSON 关系型数据库 MySQL
MySQL全文搜索与JSON支持:高效检索与灵活数据处理
本文深入探讨了MySQL数据库中的全文搜索与JSON支持,通过详细的代码示例,阐述了全文搜索的原理、全文索引的创建,以及JSON数据类型的使用与操作。全文搜索在数据库中的重要性日益凸显,MySQL提供了全文索引来实现高效的文本数据检索,通过MATCH AGAINST语句,可以轻松地进行全文搜索操作。此外,MySQL的JSON支持为半结构化数据的存储和查询提供了灵活的解决方案,您可以存储JSON对象、数组等数据,并使用JSON函数来查询和修改数据。
1007 0
|
Web App开发 JavaScript 关系型数据库
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
20天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
24天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
下一篇
无影云桌面