散100分求大牛99我,挣扎了快一周了,还是搞不定

Thanksgiving_Heart 2014-11-12 10:20:11
公司做一个电商网站,碍于数据量大的原因,所以提出用solr来做搜索服务器。
我是小白,刚走上社会,到公司不到一个月。
还有一位工作了一年多,我们2个都是搞Java的。solr服务器是他提出来的。
现在问题是他之前有用过solr,但是不会架构到项目中,然后他让我来弄,我从上周五开始看solr官方文档+百度等等,搞到这周三,我现在只是能正常运行solr的管理界面(见下图)。但是不知道怎么把solr架构到项目中,实现高效率的搜索功能。
希望大牛能帮帮我,蛋都碎了还没整出来。
大家踊跃发言,对我有用的,能解决我问题的就给分,多人的话就散分。最好详细点。再次声明,我是小白,没有实际Java项目经验,刚从学校走出来的。不要喷我,谢谢各位大牛!!!
solr版本是:4.7.2.
jdk版本是:1.6
tomcat版本是:6.0
...全文
252 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Thanksgiving_Heart 2014-11-13
  • 打赏
  • 举报
回复
引用 4 楼 ooppookid 的回复:
1.你要了解solr,你可以理解它是一个基于Lucene(这个东西百度一下原理,非常简单)的文本型的全文索引工具(当然还有别的功能),比如你要对一些 HTML 文档,PDF 文档进行索引的话你就首先需要把文档转化成文本格式的,将转化后的内容交给 Lucene 进行索引,然后把创建好的索引文件保存到内存中,最后根据查询条件在索引上进行查询。 你要做的全站索引就是先构建索引,然后根据查询条件去查询即可得到查询结果。 2.你看到的solr管理页面只是用来监控、统计以及手工去加索引和查询,是作为一个服务端存在的,提供一些webservice接口给你用。你要做的是搞一个客户端去使用它,一般都是用Solrj(一个客户端),把Solrj的jar放到你工程里(apache-solr-solrj、 apache-solrj-core这两个肯定要,其他的去搜),然后按照上面说的第三步去用它提供的api就行了(无非就是建索引,再传入查询条件,然后查询得到结果),里面的CommonsHttpSolrServer就是你部署的solr服务端。 3.通过Solrj提供的api,可以先不用数据库,手动写点索引先测测。甚至连前台都不用做,直接后台先跑起来。 4.solr和数据库连接,百度“solr 数据库”各种方式的链接都可以查到,实际上这些配置就是把数据库内的值转换为文本,然后加入索引。随便查了一下:http://zjnbshifox.iteye.com/blog/1481433 这个东西比较简单,无非就是部署一个solr服务端,然后在你的工程里建一个solrj客户端,然后用你的客户端的api请求服务端的各种功能。至于客户端的业务逻辑,就要看你们的具体需求了。
哥们,谢谢你能帮我解答那么多。我现在的问题就在连接数据库这块。 因为数据库的表很多,我想能够让solr从全数据库的表去搜索。但是data-config.xml文件中的<document>只能是一张表,所以只能查询一张表的信息,我现在想要实现这个功能我要怎么做?困惑主要是这块。。。。。
忘记呼吸 2014-11-13
  • 打赏
  • 举报
回复
希望有大神帮助你把
忘记呼吸 2014-11-13
  • 打赏
  • 举报
回复
为什么要用solr? 用lucene不可以吗? 我在项目中应用过lucene, solr的话貌似配置挺麻烦的,但是用起来挺好的
猿人林克 2014-11-12
  • 打赏
  • 举报
回复
1.你要了解solr,你可以理解它是一个基于Lucene(这个东西百度一下原理,非常简单)的文本型的全文索引工具(当然还有别的功能),比如你要对一些 HTML 文档,PDF 文档进行索引的话你就首先需要把文档转化成文本格式的,将转化后的内容交给 Lucene 进行索引,然后把创建好的索引文件保存到内存中,最后根据查询条件在索引上进行查询。 你要做的全站索引就是先构建索引,然后根据查询条件去查询即可得到查询结果。 2.你看到的solr管理页面只是用来监控、统计以及手工去加索引和查询,是作为一个服务端存在的,提供一些webservice接口给你用。你要做的是搞一个客户端去使用它,一般都是用Solrj(一个客户端),把Solrj的jar放到你工程里(apache-solr-solrj、 apache-solrj-core这两个肯定要,其他的去搜),然后按照上面说的第三步去用它提供的api就行了(无非就是建索引,再传入查询条件,然后查询得到结果),里面的CommonsHttpSolrServer就是你部署的solr服务端。 3.通过Solrj提供的api,可以先不用数据库,手动写点索引先测测。甚至连前台都不用做,直接后台先跑起来。 4.solr和数据库连接,百度“solr 数据库”各种方式的链接都可以查到,实际上这些配置就是把数据库内的值转换为文本,然后加入索引。随便查了一下:http://zjnbshifox.iteye.com/blog/1481433 这个东西比较简单,无非就是部署一个solr服务端,然后在你的工程里建一个solrj客户端,然后用你的客户端的api请求服务端的各种功能。至于客户端的业务逻辑,就要看你们的具体需求了。
Thanksgiving_Heart 2014-11-12
  • 打赏
  • 举报
回复
引用 2 楼 ooppookid 的回复:
1.你是要做站内搜索没错吧,首先在你的前台页面做出搜索框(任意一个文本输入框即可),然后请求后台,servlet,action,ajax均可,总之能访问你后台某个服务,将文本框中内容传至后台(get、post均可,当然为了保护信息安全最好用post)。 2.搭建solr服务,这个看你已经搞定了,最好和你的应用服务放在一个tomcat里,使用不同端口即可。 3.在你前台调用的后台服务中使用solr,java使用solr的操作如下: http://blog.csdn.net/itbasketplayer/article/details/8086160 将你前台输入框中传过来的值作为搜索条件(第5步),然后调用查询,结果返回前台即可(结果看第6步,至于怎么返回前台这个查“javaweb前后台交互”) 4.思路应该就是这样,细节只能做的过程中搞了,看着给分吧
谢谢哥们,结贴了一定给你分,人格担保。 另外,我还有有点困惑的是:怎么样把solr架构到项目和数据库之间。 我现在只是运行出了solr,但是完全不会用,就只限于用鼠标在管理界面点点点。。 solrJ操作Java的我也试过了,主要是不会把数据库和solr服务器连起来,以及把solr和项目连起来。这是我的主要问题 希望哥们能在这方面给点意见或建议。感激不尽!!好人一生平安!!!
猿人林克 2014-11-12
  • 打赏
  • 举报
回复
1.你是要做站内搜索没错吧,首先在你的前台页面做出搜索框(任意一个文本输入框即可),然后请求后台,servlet,action,ajax均可,总之能访问你后台某个服务,将文本框中内容传至后台(get、post均可,当然为了保护信息安全最好用post)。 2.搭建solr服务,这个看你已经搞定了,最好和你的应用服务放在一个tomcat里,使用不同端口即可。 3.在你前台调用的后台服务中使用solr,java使用solr的操作如下: http://blog.csdn.net/itbasketplayer/article/details/8086160 将你前台输入框中传过来的值作为搜索条件(第5步),然后调用查询,结果返回前台即可(结果看第6步,至于怎么返回前台这个查“javaweb前后台交互”) 4.思路应该就是这样,细节只能做的过程中搞了,看着给分吧
Thanksgiving_Heart 2014-11-12
  • 打赏
  • 举报
回复
别沉了啊,求大神级大师级史诗级元老级骨灰级帮帮我,我已扑街

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧