zoukankan      html  css  js  c++  java
  • solr的安装配置与helloworld

    一、安装solr

    1.安装jdk环境和tomcat

    2.解压solr压缩包,这里我解压到opt目录下

    3.把/usr/local/solr-4.8.0/dist/solr-4.8.0.war部署到tomcat的webapps文件夹下

    4.启动Tomcat,解压缩war包,解压完毕就可以删除原有war包了。

    5.需要把/opt/solr-4.8.0/example/lib/ext下的所有Jar包添加到solr工程中(solr项目的lib目录下)

    6.创建solrhome,把/opt/solr/solr-4.8.0/example/solr文件夹复制一份作为solrhome。

    7.告诉solr服务solrhome的位置,需要修改web.xml

    8.启动tomcat,输入http://ip:端口号/项目名访问

    二、配置中文分析器、自定义业务域

    分析器使用IKAnalyzer。

    使用方法:

    第一步:把IKAnalyzer依赖的jar包添加到solr工程中,把分析器的扩张词典添加到classpath中(如果WEB-INF目录下没有classes文件夹可以自己建一个)。

    第二部:需要自定义一个FieldType,在Schema.xml中定义。可以在FieldType中指定中文分析器

    <fieldType name="text_ik" class="solr.TextField">
      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

    第三步:自定义域。指定域的类型为自定义的FieldType。

    1 <field name="item_title" type="text_ik" indexed="true" stored="true"/>
    2 <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
    3 <field name="item_price"  type="long" indexed="true" stored="true"/>
    4 <field name="item_image" type="string" indexed="false" stored="true" />
    5 <field name="item_category_name" type="string" indexed="true" stored="true" />
    1 <field name="item_desc" type="text_ik" indexed="true" stored="false" />
    2 
    3 <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
    4 <copyField source="item_title" dest="item_keywords"/>
    5 <copyField source="item_sell_point" dest="item_keywords"/>
    6 <copyField source="item_category_name" dest="item_keywords"/>
    7 <copyField source="item_desc" dest="item_keywords"/>

    第四步:重启tomcat。

    三、helloword的编写

     1 package cn.sp.test;
     2 
     3 import org.apache.solr.client.solrj.SolrQuery;
     4 import org.apache.solr.client.solrj.SolrServer;
     5 import org.apache.solr.client.solrj.impl.HttpSolrServer;
     6 import org.apache.solr.client.solrj.response.QueryResponse;
     7 import org.apache.solr.common.SolrDocument;
     8 import org.apache.solr.common.SolrDocumentList;
     9 import org.apache.solr.common.SolrInputDocument;
    10 
    11 public class SolrJTest {
    12     
    13     public void test01()throws Exception{
    14         //建立连接
    15         SolrServer solrServer = new HttpSolrServer("http://192.168.75.129:8081/solr");
    16         //创建一个文档对象
    17         SolrInputDocument doc = new SolrInputDocument();
    18         //添加域
    19         doc.addField("id", "110");
    20         doc.addField("item_title", "我的第一个solr-Demo");
    21         doc.addField("item_sell_point", "卖点全无");
    22         solrServer.add(doc);
    23         //提交
    24         solrServer.commit();
    25     }
    26     @org.junit.Test
    27     public void test02()throws Exception{
    28         //建立连接
    29         SolrServer solrServer = new HttpSolrServer("http://192.168.75.129:8081/solr");
    30         //创建一个查询对象
    31         SolrQuery query = new SolrQuery();
    32         query.setQuery("*:*");
    33         //执行查询
    34         QueryResponse response = solrServer.query(query);
    35         //取查询结果
    36         SolrDocumentList solrDocumentList = response.getResults();
    37         for (SolrDocument solrDocument : solrDocumentList) {
    38             System.out.println(solrDocument.get("id"));
    39             System.out.println(solrDocument.get("item_title"));
    40             System.out.println(solrDocument.get("item_sell_point"));
    41         }
    42     }
    43 }

    执行test01后,查询可以看到数据说明成功。

     最后附上所需相关jar包,其中不包括红色部分gson的。

  • 相关阅读:
    Java8部分新特性的学习
    SurfaceView的基本使用
    Android Apk的反编译和加密
    Notification的基本用法以及使用RemoteView实现自定义布局
    Anroid事件分发
    Xmpp学习之Asmack取经-asmack入门(一)
    android通过DialogFragment实现时间选择
    使用官方Android-support-v7在低版本上使用ActionBarActivity
    五一后总结
    Android在有存储卡和无存储卡情况下拍照后固定尺寸和压缩大小
  • 原文地址:https://www.cnblogs.com/2YSP/p/6880664.html
Copyright © 2011-2022 走看看