一直想接触下搜索,虽然之前也玩了下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>
    将<env-entry-value>中的内容改成你的solr_home路径,这里是D:/solr_home

    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

solr基本入门的更多相关文章

  1. Solr安装入门、查询详解

    Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...

  2. Solr安装入门

    Solr安装入门:http://www.importnew.com/12607.html 查询详解:http://www.360doc.com/content/14/0306/18/203871_35 ...

  3. 【solr专题之一】Solr快速入门

    一.Solr学习相关资料 1.官方材料 (1)快速入门:http://lucene.apache.org/solr/4_9_0/tutorial.html,以自带的example项目快速介绍发Solr ...

  4. Solr的入门知识

      一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都 ...

  5. Solr快速入门

    1. 什么是Solr Solr是基于lucene的全文检索服务器.不同于lucene工具包,solr是一个web应用,运行在servlet容器,屏蔽了底层细节,并对外提供服务. 点我lucene快速入 ...

  6. 【solr专题之中的一个】Solr高速入门

    一.Solr学习相关资料 1.官方材料 (1)高速入门:http://lucene.apache.org/solr/4_9_0/tutorial.html.以自带的example项目高速介绍发Solr ...

  7. Solr快速入门(一)

    概述 本文档介绍了如何获取和运行Solr,将各种数据源收集到多个集合中,以及了解Solr管理和搜索界面. 首先解压缩Solr版本并将工作目录更改为安装Solr的子目录.请注意,基本目录名称可能随Sol ...

  8. 【solr专题之一】Solr快速入门 分类: H4_SOLR/LUCENCE 2014-07-02 14:59 2403人阅读 评论(0) 收藏

    一.Solr学习相关资料 1.官方材料 (1)快速入门:http://lucene.apache.org/solr/4_9_0/tutorial.html,以自带的example项目快速介绍发Solr ...

  9. Solr介绍 入门练习

    1.1 Solr是什么 Solr是一个基于全文检索的企业级应用服务器. 全文检索:可以输入一段文字,通过分词检索数据!!(复习) 应用服务器:它是单独的服务. 1.2 Solr能做什么 它就是用于做全 ...

随机推荐

  1. 2016年Web前端面试题目

    以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中无法解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢迎指正.:) HTML/CSS部分 1. ...

  2. 【转】BAT 批处理脚本 教程

    第一章 批处理基础第一节 常用批处理内部命令简介批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD.这些命令统称批处理命令.小知识:可以在 ...

  3. Python 【第十一章】 Django模版

    1.直接传值 urls.py """mysite URL Configuration The `urlpatterns` list routes URLs to view ...

  4. [LeetCode] Excel Sheet Column Title 求Excel表列名称

    Given a positive integer, return its corresponding column title as appear in an Excel sheet. For exa ...

  5. [LeetCode] Valid Sudoku 验证数独

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  6. 原生js实现autocomplete插件

    在实际的项目中,能用别人写好的插件实现相关功能是最好不过,为了节约时间成本,因为有的项目比较紧急,没充分时间让你自己来写,即便写了,你还要花大量时间调试兼容性.但是出于学习的目的,你可以利用闲暇时间, ...

  7. 一个简单oop的changeTab

    好多地方都会用到这样一个效果“点击tab切换内容页”,根据自己的想法实现了一下,写了个简单的插件.以前写代码都是标准的函数式编程,现在觉得面向对象编程看起来比较爽,并且更容易维护,于是就用oop的思想 ...

  8. java之并发编程线程池的学习

    如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间. java.uitl.concurrent.Thre ...

  9. FREEBSD手工配置网络

    在FreeBSD系统中,网络能力十分重要,对于一个标准的FreeBSD系统,至少要有一个网络界面以便与其他计算机通信.最常见的网络界面为以太网卡.此外FreeBSD也支持Token Ring和FDDI ...

  10. import renumber.py in pymol

    cp renumber.py /usr/local/lib/python2.7/dist-packages/pymol import renumber or run /path/to/renumber ...