美文网首页
solr入门

solr入门

作者: V锅锅 | 来源:发表于2018-09-28 12:23 被阅读0次

    solr安装与测试

    1、下载solr

    http://mirrors.hust.edu.cn/apache/lucene/solr/7.5.0/solr-7.5.0.tgz

    2、上传到Linux

    3、解压上传的solr压缩包

    [root@localhost tool]# tar -zvxf solr-7.5.0.tgz

    4、将solr部署到Tomcat

    我已经有一个Tomcat了,复制一个原有的Tomcat改名为tomcat8-solr

    [root@localhost tomcat]# cp tomcat8 tomcat8-solr -r

    5、把solr部署到Tomcat

    solr 解压后server/solr-webapp下一个webapp目录,它就是Solr的Web项目,把它复制到tomcat的webapps目录下并改名为solr
    进入Solr的server目录下

    [root@localhost tomcat]# cd /usr/tool/solr-7.5.0/server/solr-webapp/

    复制webapp目录到tomcat8-solr的webapps目录下

    [root@localhost solr-webapp]# cp webapp/ /usr/tool/tomcat/tomcat8-solr/webapps/ -r

    将Solr的web应用改名

    [root@localhost solr-webapp]# cd /usr/tool/tomcat/tomcat8-solr/webapps/
    [root@localhost webapps]# mv webapp solr7

    6、配置solr_home

    这个目录用于存储Solr Core的数据及配置文件,创建solr_home存储Solr索引文件

    [root@localhost webapps]# mkdir /usr/tool/solr7/solrhome -p

    把刚才解压的solr-7.5.0移动到solrhome文件夹下,方便管理,不是必须
    解压后的Solr的server目录下有一个solr目录,把这个目录里的所有内容复制到刚刚创建的solrhome目录下

    [root@localhost webapps]# cd /usr/tool/solr7/solr-7.5.0/server/solr/

    复制solr目录下所有内容到solrhome

    [root@localhost solr]# cp -r * /usr/tool/solr7/solrhome/

    7、配置Tomcat

    7.1 修改web.xml

    修改复制到tomcat中的Solr项目中的WEB-INF目录下的web.xml配置文件
    修改solrhome路径指向我们刚刚创建的solrhome

    <env-entry>
    <env-entry-name>solr/home</env-entry-name>
    <env-entry-value>/usr/tool/solr7/solrhome</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

    去掉安全验证

      <!-- Get rid of error message
      <security-constraint>
        <web-resource-collection>
          <web-resource-name>Disable TRACE</web-resource-name>
          <url-pattern>/</url-pattern>
          <http-method>TRACE</http-method>
        </web-resource-collection>
        <auth-constraint/>
      </security-constraint>
      <security-constraint>
        <web-resource-collection>
          <web-resource-name>Enable everything but TRACE</web-resource-name>
          <url-pattern>/</url-pattern>
          <http-method-omission>TRACE</http-method-omission>
        </web-resource-collection>
      </security-constraint>
     -->
    

    7.2 复制所需依赖jar包

    复制solr-7.4.0\server\lib\ext下的所有jar包到tomcat下的webapps\solr\WEB-INF\lib目录下

    [root@localhost solrhome]# cd /usr/tool/solr7/solr-7.5.0/server/lib/
    [root@localhost lib]# cp ext/* /usr/tool/tomcat/tomcat8-solr/webapps/solr7/WEB-INF/lib/

    复制solr-7.4.0\server\lib下的metrics开头的5个jar到tomcat下的webapps\solr\WEB-INF\lib目录下

    [root@localhost lib]# cp metrics-* /usr/tool/tomcat/tomcat8-solr/webapps/solr7/WEB-INF/lib/

    7.3 修改solr.xml

    修改solrhome目录下的solr.xml配置文件,如下
    将主机名和端口号修改为自己的主机名和端口号

    <str name="host">${host:192.168.65.129}</str>
    <int name="hostPort">${tomcat.port:8080}</int>
    <str name="hostContext">${hostContext:solr}</str>
    

    7.4 创建Solr Core

    在solrhome目录下创建目录名为:mycore
    这个就是我们后面要创建的Solr Core,当然你也可以改成自己想要的名字

    [root@localhost lib]# cd /usr/tool/solr7/solrhome/
    [root@localhost solrhome]# mkdir mycore

    7.5 准备Core配置文件

    将configsets目录下的sample_techproducts_configs目录下的conf文件夹复制到mycore目录下

    [root@localhost solrhome]# cp -r configsets/sample_techproducts_configs/conf/ mycore/

    7.6 启动tomcat

    [root@localhost mycore]# cd /usr/tool/tomcat/tomcat8-solr/bin/
    [root@localhost bin]# ./startup.sh

    远程在浏览器里访问一下

    http://192.168.65.129:8080/solr7/index.html#/

    image.png

    创建SolrCore

    image.png
    image.png
    image.png
    image.png

    8、代码测试

    8.1 新建索引字段

    image.png

    测试代码

     public static void main(String[] args) throws Exception {
            addDocument();
        }
    
        public static void addDocument() throws Exception {
            String solrUrl = "http://192.168.65.129:8080/solr7/first_core";
            HttpSolrClient client =  new HttpSolrClient.Builder(solrUrl).build();;
            Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
            for (int i = 1; i <= 3; i++) {
                SolrInputDocument doc = new SolrInputDocument();
                //公有的字段
                doc.addField("id", UUID.randomUUID().toString());
                doc.addField("name", "nametest");
                doc.addField("filename", "filename");
                docs.add(doc);
            }
            UpdateResponse rsp = client.add(docs);
            UpdateResponse rspcommit = client.commit();
            System.out.println(rspcommit.toString());
        }
    
    image.png

    至此solr部署完毕

    相关文章

      网友评论

          本文标题:solr入门

          本文链接:https://www.haomeiwen.com/subject/dkmuoftx.html