Solr之How之粉墨登场
来源:互联网 发布:中国对外关系知乎 编辑:程序博客网 时间:2024/04/27 22:36
上一篇记下了Solr 的What与Why,接下来就开始Solr的How专题。第一个话题是 粉墨登场
在这一章节,我们将一块看看Solr的下载包究竟有哪些东东,Solr可以在哪些个应用服务器跑, Solr在坑爹的OC4J下面究竟会发生什么事情,以及multiple core
1. 安装
从Solr的官网上下载到的包解压后,可以看到里面有好多个文件夹,我们这里只关注几个重要的
- dist: 这个文件夹里面的东西就是 Solr的war包,以及一些外围的jar文件
> solr.war: 这就是Solr的包,里面包括了Solr所需要用到的基本jar文件,以及Solr admin console
> solrj-lib:如果需要在Java系统与Solr进行交互,那么Java系统所需要的跟Solr有关的lib都在这个文件夹里面
> apache***.jar: 这是solr的扩展包,包括data import, clustering 等等
> example: 这个文件夹提供了一个超级完整的solr例子,包括了single core, multiple core, data import (包括xml, csv, json格式), 以及jetty。如果你看到这里烦了,就想直接看看solr出来后是什么样子的话,直接运行example/start.jar, 然后在IE打开http://localhost:8983/solr/,这时你就可以看到一个完整的solr console了!走起!
2. 服务器支持
Solr支持的服务器有Jetty,Tomcat,JBoss,Glassfish,Resin, Weblogic 以及WebSphere。而我们系统用的是OC4J,这下就坑爹了!只要一进去Admin管理页面,那个Exception就锲而不舍地扔exception,直至栈溢出方休!好几次好想放弃Solr,但又舍不得。十极无路,只好拿下源代码,debug!发现当请求的URL里面带有admin的字符,SolrDispatcherFilter就会将这个请求forward出去,而OC4J不知道就咋的啦,再把这个请求forward给SolrDispatcherFilter,这不就进入了坑爹的死循环嘛~!貌似Solr真心不喜欢OC4J,木有办法,只好绕行:如果第一次进去这个forward,就在http请求里面加个attribute isSolrForward;而每次判断要不要进入forward之前,再加一个判断,如果isSolrForward已存在的话,就不进去这段逻辑。这样就能绕开OC4J这个bug!
3. Multi core
Solr与Multi core的关系就相当在一个OC4J里面 可以部署多个应用程序,这样这多个应用程序可以共享同一个Solr服务器里面的资源,而它们各自之间的配置,index文件等等都是独立的。每一个core都需要在solr.xml里面注册
<coresadminPath="/admin/cores">
<core name="core0"instanceDir="core0" />
<core name="core1"instanceDir="core1" />
</cores>
- Solr之How之粉墨登场
- solr学习之-solr安装
- Solr之配置文件solr.xml。
- Solr之what & why
- Solr之缓存篇
- Solr之缓存篇
- 搜索引擎之solr小结
- Solr之简单测试
- Solr之中文分词
- Solr之客户端SolrJ
- Solr之常见配置
- Solr之spring集成
- Solr之SolrCloud简介
- solr之基础篇
- solr之~模糊查询
- Solr之缓存篇
- Solr之fieldtype
- solr之fields配置
- Java笔试题总结(三)
- HttpWatch
- 常用排序算法(1)-插入排序
- 第9周任务1
- servlet中文数据存入数据库为乱码的解决办法
- Solr之How之粉墨登场
- WP7应用程序中添加麦克风支持
- MSDN有用连接(更新中……)
- c#获取应用程序目录,C#中得到程序当前工作目录和执行目录方法大全
- 韩顺平的分页代码
- 游戏修改器原理
- 写在前面
- java动态缓存技术(转)
- 开机选择启动项的快捷键