跨域请求获取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>
扫描公众号,关注更多信息
---------------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------to be a better me, talk is cheap show me the code
版权所有,转载请注明原文链接。
文中有不妥或者错误的地方还望指出,以免误人子弟。如果觉得本文对你有所帮助不妨【推荐】一下!如果你有更好的建议,可以给我留言讨论,共同进步!
再次感谢您耐心的读完本篇文章。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
分类:
java
标签:
solr_lucence
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?