之前一直使用lucene做站内全文搜索,目前因为分布式的需要,对solr进解了一下,因为第一次使用,部署中出了好多问题,网上资料有很多比较老套,而且大版本的更新,文件结构发生变化,对于初学需要注意一下。
安装包的下载就不多说了 (mysql 6.0 + solr5.0+tomcat 7.0)
1、将solr5解压后找打war包(solr-5.0.0\server\webapps下)
2、将war包复制到tomcat webapp下,启动tomcat 在webapp下会看到sorl文件夹,里面是解压后的sorl服务(D:\tools\apache-tomcat-private\webapps\solr)
3、将solr-5.0.0\server\lib\ext 下的jar包拷贝到tomcat的lib下
4、在同磁盘下创建文件夹D:\tools\SolrHome\solr
5、从solr5的解压文件夹下拷贝solr-5.0.0\server\solr中的文件到D:\tools\SolrHome\solr 下
2、error filterStart
将solr-5.0.0\server\lib\ext 中的jar包全部拷贝到 tomcat/lib下
3、http status 503 -server is shutting down or failed to initialize
可能问题 1、没有配置log日志(网上看到的)
解决方案:
将solr/example/resources/log4j.properties 复制到 /tomcat/webapps/solr/WEB-INF/classes/
2、web.xml中配置的sorl_home(路径)有错误
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>D:/tools/SolrHome/solr</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
4、 拷贝文件()
5、solrconfig.xml 配置
<lib dir="${solr.install.dir:}/dist/" regex="solr-dataimporthandler-.*\.jar" /> <lib dir="${solr.install.dir:}/contrib/extraction/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:}/dist/" regex="solr-cell-\d.*\.jar" /> <lib dir="${solr.install.dir:}/contrib/clustering/lib/" regex=".*\.jar" /> <lib dir="${solr.install.dir:}/dist/" regex="solr-clustering-\d.*\.jar" /> <lib dir="${solr.install.dir:}/contrib/langid/lib/" regex=".*\.jar" /> <lib dir="${solr.install.dir:}/dist/" regex="solr-langid-\d.*\.jar" /> <lib dir="${solr.install.dir:}/contrib/velocity/lib" regex=".*\.jar" /> <lib dir="${solr.install.dir:}/dist/" regex="solr-velocity-\d.*\.jar" /> <lib dir="${solr.install.dir:}/dist/" regex="mysql-connector-java-.*\.jar" />
6、solr-data-config.xml配置
<dataConfig> <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/employees" user="root" password="root" /> <document> <entity name="item" query="select emp_no,birth_date,first_name,last_name,gender,hire_date from employees"> <field column="emp_no" name="empNo" /> <field column="birth_date" name="birthDate" /> <field column="first_name" name="firstName" /> <field column="last_name" name="lastName" /> <field column="gender" name="gender" /> <field column="hire_date" name="hireDate" /> </entity> </document> </dataConfig>
7、schema.xml 配置
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> --> <field name="empNo" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="birthDate" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="firstName" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="lastName" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="gender" type="string" indexed="true" stored="true" required="true" multiValued="false" /> <field name="hireDate" type="string" indexed="true" stored="true" required="true" multiValued="false" />