图解全文检索SOLR的酷应用[Ajax Solr]

简介: Ajax Solr 是一个使用客户端Javascript库实现的基于Solr的应用库,提供了丰富的应用功能。 Ajax Solr is a client-side JavaScript library that can access Solr via its REST-like interface.

Ajax Solr 是一个使用客户端Javascript库实现的基于Solr的应用库,提供了丰富的应用功能。

Ajax Solr is a client-side JavaScript library that can access Solr via its REST-like interface. Solr is not properly a database, but a search server; however it is the main data source for a search-based application. The result of using Ajax Solr for the user interface is literally having a JDBC (or PDO) Api available in the browser, which can make queries and change the results displayed basing on events generated by the user.

官方主页和具体的介绍

https://github.com/evolvingweb/ajax-solr

http://www.renren.it/a/JAVAbiancheng/JAVAzonghe/20100909/client-applications-ajax-solr.html

http://java.dzone.com/articles/client-applications-ajax-solr

 

例子Reuters tutorial:

https://github.com/evolvingweb/ajax-solr/wiki/reuters-tutorial

http://wenku.baidu.com/view/6830cd10f18583d04964590d.html

例子的下载:http://github.com/evolvingweb/ajax-solr/zipball/gh-pages 

解压下载的文件,其中examples就是如下的具体效果,docs是库的API Docs说明,非常详细;lib就是这个库的javascript源代码

 

如下是每个例子的具体效果,可见关于搜索的各个方面在这个库基础都有丰富的体现,对于我们的常见应用有借鉴意义。

【如下的例子分步的差别使用红色框标注】

· Step 1: Talk to Solr

· Step 2: Add a results widget

图片1

· Step 3: Add a pager widget

图片2

· Step 4: Add a tagcloud widget

图片3

· Step 5: Display the current filters

图片4

· Step 6: Add a free-text widget

图片5

· Step 7: Add an autocomplete widget

图片6

· Step 8: Add a map widget

图片7

· Step 9: Add a calendar widget

图片8

Step 10: Extra credit

图片9

基础

以上应用的具体服务都是基于Solr的服务返回的Json数据,具体请求类似如下:

http://evolvingweb.ca/solr/reuters/select?facet=true&q=*%3A*&facet.field=topics&facet.field=organisations&facet.field=exchanges&facet.field=countryCodes&facet.limit=20&facet.mincount=1&f.topics.facet.limit=50&f.countryCodes.facet.limit=-1&facet.date=date&facet.date.start=1987-02-26T00%3A00%3A00.000Z%2FDAY&facet.date.end=1987-10-20T00%3A00%3A00.000Z%2FDAY%2B1DAY&facet.date.gap=%2B1DAY&json.nl=map&wt=json&json.wrf=jsonp1313733083156&_=1313733083258

 

http://evolvingweb.ca/solr/reuters/select?q=*:*&rows=0&facet=true&facet.limit=-1&facet.mincount=1&json.nl=map&facet.field=topics&facet.field=organisations&facet.field=exchanges&wt=json&json.wrf=jsonp1313733083157&_=1313733084113

相关文章
|
5月前
|
前端开发 JavaScript Java
使用Ajax进行异步交互:提升Java Web应用的用户体验
【4月更文挑战第3天】Ajax技术在Web开发中提升UX,通过与服务器异步交互实现页面局部更新,无需完整刷新。核心组件包括XMLHttpRequest、JavaScript、HTML/CSS及服务器端脚本。在Java Web应用中,可使用原生JavaScript或框架如jQuery、AngularJS实现Ajax请求。Ajax减少页面刷新,实现实时数据更新,即时表单验证和动态UI,显著改善用户体验,是现代Web开发不可或缺的一部分。
76 0
|
2月前
|
前端开发 Java UED
瞬间变身高手!JSF 与 Ajax 强强联手,打造极致用户体验的富客户端应用,让你的应用焕然一新!
【8月更文挑战第31天】JavaServer Faces (JSF) 是 Java EE 标准的一部分,常用于构建企业级 Web 应用。传统 JSF 应用采用全页面刷新方式,可能影响用户体验。通过集成 Ajax 技术,可以显著提升应用的响应速度和交互性。本文详细介绍如何在 JSF 应用中使用 Ajax 构建富客户端应用,并通过具体示例展示 Ajax 在 JSF 中的应用。首先,确保安装 JDK 和支持 Java EE 的应用服务器(如 Apache Tomcat 或 WildFly)。
33 0
|
3月前
|
XML 前端开发 API
惊艳全场的秘诀!AJAX、Fetch API与Python后端,打造令人惊叹的Web应用!
【7月更文挑战第13天】构建现代Web应用的关键在于提供无缝用户体验,这涉及AJAX和Fetch API的异步数据交换以及Python(如Flask)的后端支持。Fetch API以其基于Promise的简洁接口,改进了AJAX的复杂性。例如,一个Flask应用可提供用户数据,前端利用Fetch API在不刷新页面的情况下显示信息。这种结合提升了效率,减少了服务器负载,是现代Web开发的趋势。随着技术发展,预期将有更多工具优化这一过程。
58 3
|
4月前
|
前端开发 Python
Django框架中Ajax GET与POST请求的实战应用
Django框架中Ajax GET与POST请求的实战应用
|
4月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
5月前
|
JavaScript 前端开发
node.js第四天--ajax在项目中的应用
node.js第四天--ajax在项目中的应用
52 0
|
5月前
|
设计模式 开发框架 前端开发
ajax应用设计模式,Ajax设计模式下Web开发的研究与应用
ajax应用设计模式,Ajax设计模式下Web开发的研究与应用
|
5月前
|
JSON 缓存 前端开发
Jquery中AJAX的应用
Jquery中AJAX的应用
70 0
|
前端开发 UED
Ajax有哪些应用场景?
Ajax 技术是 Web 开发中非常重要的一种技术,能够提高网站性能、减轻服务器压力、优化用户体验
160 0
|
前端开发
Ajax&Fetch学习笔记 06、ajax实际应用(三种)
Ajax&Fetch学习笔记 06、ajax实际应用(三种)
Ajax&Fetch学习笔记 06、ajax实际应用(三种)