全文检索(SOLR)前端应用浅析续 Rails前端分析

2019-03-27 01:14|来源: 网路

前两篇对Lucid的应用和SOLR的核心扩展简要进行了介绍,现在简要看一下基于SOLR的基础上展现给前端的界面如何做,这个部分Lucid提供了源代码,因此看起来更方便一下。

上两个文章的内容如下:

全文检索(SOLR)前端应用浅析 http://www.cnblogs.com/2018/archive/2011/07/29/2121519.html

全文检索(SOLR)前端应用浅析续 LWE-CORE分析 http://www.cnblogs.com/2018/archive/2011/08/15/2138649.html

安装和启动

安装在rails目录下

javaw "-Djava.awt.headless=true -Dlog4j.configuration=file:../conf/log4j.xml" -jar ../lib/jruby-complete-1.5.3.jar -r../lib/bundler.jar -S script/rails server -e production -p 8989

由如上的加载程序加载运行rails目录的内容

java -jar "%LUCIDWORKS%\lib\jruby-complete-1.5.3.jar" -S "%LUCIDWORKS%\bin\stop.rb" "%LUCIDWORKS%"

JRuby概要

www.jruby.org

JRuby是一个纯Java实现的Ruby解释器。通过JRuby,你可以在JVM上直接运行Ruby程序,调用Java的类库。很多Java编写的Ruby IDE都是使用JRuby来解释语法的。

JRuby On Rails

http://book.51cto.com/art/200807/79142.htm

这个项目是使用Jruby的完整jar包运行的,具体参考

http://spin.atomicobject.com/2010/02/01/running-a-ruby-application-with-jruby-complete/

JRuby On Rails的实例参考

http://www.infoq.com/cn/news/2008/07/csi-disease-management-jruby

目录结构和内容

数据:使用的是sqlite,如下

rails\db\ production.sqlite3

wps_clip_image-14740

查看工程

这个工程是使用JRuby的rails框架进行设计的,管理ROR的一个比较好的工具是Netbeans 6.*[Netbeans 7需要独立下载安装插件]

具体步骤:

1、 使用Netbeans的向导建立一个新的Rails项目

2、 将新建立项目的下nbproject目录拷贝到这个的rails目录下

3、 使用Netbeans 打开

wps_clip_image-20182

根目录下的MVC结构主要功能:

配置文件: 数据库、国际化等

数据模型:使用ActiveRecord

Helpers辅助程序

其中:rails\app\models下的api.rb api_base.rb是和LWE Core交互的部分,使用Rest服务,其他的模型是基于这个基础对象进行继承和个性实现的

 

系统提供的主要功能通过插件的形式实现,具体在:

rails\vendor\plugins\admin

rails\vendor\plugins\alerts

rails\vendor\plugins\search

具体的MVC的视图部分使用的是默认的erb形式和HAML形式,具体参考http://haml-lang.com/tutorial.html

 

总结

通过以上的概要分析,我们可以看到基于SOLR,可以提供很丰富的扩展和实现以满足我们的各种不同的项目应用需求,Lucid的这个部分提供了一个很好的参考实现。


转自:http://www.cnblogs.com/2018/archive/2011/08/16/2139720

相关问答

更多
  • web前端和web后端的区别详细分析: Web前端: 1. 精通HTML,能够书写语义合理,结构清晰,易维护的HTML结构。 2. 精通CSS,能够还原视觉设计,并兼容业界承认的主流浏览器。 3. 熟悉JavaScript,了解ECMAScript基础内容,掌握1~2种js框架,如JQuery。 4. 对常见的浏览器兼容问题有清晰的理解,并有可靠的解决方案。 5. 对性能有一定的要求,了解yahoo的性能优化建议,并可以在项目中有效实施。 Web后端: 1. 精通jsp,servlet,java bean, ...
  • jquery、Extjs、prototype、kissy,bootstrap、jQuery UI、easyui、flex、yui、Dojo等。里面有侧重js的框架和侧重css的框架 其实没必要在意这些框架了,只要精通就可以其中的一种其他的用到时在学习就可以了, 学再多不用时也会忘掉的
  • GCC是GNU中的旗舰产品,也是开源世界的重量级产品,大多数开源产品都是基于这个编译器的。 GCC其实是一个编译器的集合,其中的C++编译器就是G++。 GCC的结构很巧妙,是采用前端、后端相结合的方式,前端负责处理语言分析,生成中间代码,后端负责具体的物理平台的处理,负责生成具体的目标代码。这也是GCC能够支持多种语言和多种平台的一个原因。 这个题目就是想利用GCC的这个结构特点,将其前端的语言分析部分提取出来,重构成独立的应用程序,用来对输入的源代码进行分析,并生成分析报告。 代码分析的目的是为程序员提 ...
  • jquery、Extjs、prototype、kissy,bootstrap、jQuery UI、easyui、flex、yui、Dojo等。里面有侧重js的框架和侧重css的框架。
  • 以rails routes ( rake routes )为例,以blogs为例,您可以看到routes.rb中定义的所有“端点”: Prefix Verb URI Pattern Controller#Action blogs GET /blogs(.:format) blogs#index POST /blogs(.:format) blogs#create n ...
  • 正如您已经注意到rails默认将所有帮助程序包含在所有视图中。 你可以通过添加来关闭它 config.application_controller.include_all_helpers = false 这将导致仅包含ApplicationHelper和控制器的帮助程序。 添加 helper :foo 对于控制器,除了默认值之外,还会包含FooHelper。 如果有应该为所有管理控制器加载的帮助程序,则将其添加到其基类。 如果您需要更多内容,请考虑使用rails引擎(启用isolate_namespac ...
  • 验证了我在前端获得了JSON对象之后,我才得以开始工作。 这就是我的category.ts文件现在的样子。 我希望这可以帮助别人。 角管是非常有用的检查这里阅读更多关于它。 export class Category { constructor( public id?: number, public name?: string ) {} } let category: Category = JSON.parse('{"id": id, "name": name}'); 还必须验证该类别名 ...
  • 您是否看过项目桶和搜索的开发人员指南 ? 您可以创建可用于内部搜索和前端搜索的构面。 5.6.9创建新的搜索方面 您可以使用构面在任何搜索结果列表中深入查看更具体的结果。 默认构面显示在搜索结果右侧的构面菜单中。 要创建自定义构面,请导航到内容树的/ sitecore / system / Settings / Buckets / Facets项。 右键单击Facets项,然后在上下文菜单中单击Insert,Facet。 您现在必须在内容选项卡的参数字段中指定索引中字段的名称。 您可以通过列出逗号分隔的多个 ...
  • 你的问题相对模糊,如果我的回答是平等的,那么道歉: WebSockets或SSE(服务器发送事件) 我们刚刚使用一个应用程序实现了类似的功能,该应用程序删除了多个记录,并发送已删除的更新 你对pub / sub是对的,我会尝试解释底层技术。 它实际上是SSE或WebSockets的类似过程 接收“实时”数据 从服务器接收“实时”数据的过程是使用Rails中的ActionController :: Live控制器。 这适用于response.headers['Content-Type'] = 'text/ev ...
  • 这可以两种方式工作。 不同的公司 - 甚至同一家公司的不同项目 - 可以通过不同的方法取得成功。 话虽这么说,我对以下方法非常偏好: 概念/想法 线框,样机 设计应用程序的前端 模板所有视图 Rails开发 基本上,我通常用这种方式描述它: 首先,设计到设计师制作的模型和图像。 让UI专家将其转换为HTML / CSS(或HAML / SASS或其他) 在html后面执行rails实现。 这些步骤通常会重叠 - 这没关系。 在获得最终的所有内容之前,您应该开始一些基本的开发。 但是你提前做的设计越多越好。 ...