用一上午的时间来了解solr和解决问题:
首先先了解solr是什么:
Solr是一个高性能,采用Java5开发,
全文搜索引擎。
基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功 能管理界面,是一款非常优秀的
全文检索的方法主要分为按字检索和按词检索两种。
按字检索是指对于文章中的每一个字都建立
索引,检索时将词分解为字的组合。对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上是合一的,而中文中字与词有很大分别。
按词检索指对文章中的词,即语义单位建立索引,检索时按词检索,并且可以处理同义项等。英文等西方文字由于按照空白切分词,因此实现上与按字处理类似,添加同义处理也很容易。中文等东方文字则需要切分字词,以达到按词索引的目的,关于这方面的问题,是当前
全文检索技术尤其是中文全文检索技术中的难点。
然后看在LINUX中安装遇到的问题:
在tomcat里面配置solr服务,tomcat启动成功,但是访问solr报404错误
但是,访问http://localhost:8080/solr时,提示404错误。
tomcat的webapps下面的solr下的web.xml文件配置有:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
并且solrhome的文件路径为:
tomcat的webapps下面的solr下的web.xml文件配置有:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
并且solrhome的文件路径为:
声明使用的版本、
解决办法:
删除重新部署、注意jdk版本要一致
又发生新的问题、
原因是因为:难道solr启动时必须有个默认的名为collection1的索引吗?
在solrhome 文件下需要加入一个文件 solr.xml
需要添加一段代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<solr>
</solr>
<solr>
</solr>
最后终于启动成功、有问题请评论