solr基本入门
一直想接触下搜索,虽然之前也玩了下solr,但一直没深入,所以也都忘得差不多了,现在solr都6.1了,发展真快。重新拾起,记录下也好,为以后出问题查找起来快一点。
1、搜索最重要的概念就是倒排索引, 通过分词,建立 分词后的一个一个 词 的倒排索引。
solr环境搭建
1、solr 6 需要 jdk1.8 和tomcat 8, 下载jdk1.8,下载solr6.1,下载 zookeeper 3.4.8,并按步骤 安装配置好 jdk 和 zookeeper (参考 http://www.cnblogs.com/xunux/p/4596216.html )
2、参考 solr 文档 Solr Quick Start( http://lucene.apache.org/solr/quickstart.html ), 着手 使用, 强调一下,在windows 环境下,由于没有 post 脚本 ,所以需要 使用 post.jar 来提交文档,
参考官方文档 (https://cwiki.apache.org/confluence/display/solr/Post+Tool#PostTool-Windows), 注意提交文档时最好指定文档类型,比如 json,pdf,html等,用 -Dtype=xxx来指定,或者
-Dauto=true 来自动识别提交的文档类型。
bin/post start -c gettingstarted -e cloud -nopromt bin/post stop -all bin/post delete -c xxx
3、部署 solrcloud + tomcat + zookeeper 部署。
1、部署好zookeeper, 3个节点,端口分别是 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 。
2、部署 solr 到 tomcat
1、 复制 solr 下的 D:\developer\solr-6.1.0\server\solr-webapp\webapp 目录 到 tomcat 的webapp 目录下,并改为 solr
2、 将 D:\developer\solr-6.1.0\server\lib\ext 目录下的 jar 复制到 tomcat-8.0.26\webapps\solr\WEB-INF\lib 目录下
3、 复制 "D:\developer\solr-6.1.0\server\resources\log4j.properties" 到 webapps\solr\WEB-INF\classes 目录中(如果没有classes则创建)
4、 复制 "D:\developer\solr-6.1.0\server\solr" 目录 到 一个目录下,并命名为 solr_home(存放配置及索引数据)
5、 打开 tomcat-8.0.26\webapps\solr\WEB-INF\web.xml 文件修改。
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/put/your/solr/home/here</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
6、 将 welcome-file-list 的 welcome-file值 由 index.html 修改为 ./index.html
<welcome-file-list> <welcome-file>./index.html</welcome-file> </welcome-file-list>
7、 添加 solr 的dist 目录下的 dataimporthandler相关jar 到tomcat solr 项目的lib目录。
8、 修改 tomcat 的 catalina.bat 文件,在第二行加入
set "JAVA_OPTS=%JAVA_OPTS% -Xmx1024m -Xms256m -DzkHost=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"
9、复制 3个部署好的 tomcat ,改改相关参数即可。
3、创建 schema.xml(managed-schema)、solrconfig.xml、db-data-config.xml, 通过solr 的 "D:\developer\solr-6.1.0\server\scripts\cloud-scripts\zkcli.bat" 脚本将配置上传到zookeeper,重启solr即可。
4、DIH自动从数据库导入建立索引
5、
参考文档:
1、 Solr5.4.0部署到Tomcat http://www.cnblogs.com/walk-the-Line/p/5150773.html
2、 solr多字段搜索,排序打分规则 http://www.gaoxueping.com/archives/783