solr配置及Java实现

1 篇文章 0 订阅

                                                                             第一篇   solr配置

一、下载solr(地址:http://lucene.apache.org/solr/,并解压到一个目录中

 

Bin目录是执行脚本。Dist是构建完的jar包Doc文档Example样例核配置。Serversolrwebapp和默认的solr_home目录。

Cmd进入在window命令窗口

(1)solr/bin/路径下启动

solr start

(2)暂停solr

solr stop -p 8983

(3)查看solr的状态及属性

solr status

(4)创建一个核,来存储产品表中的数据

solr create -c demo

(5)成功之后,访问地址:

http://localhost:8983/solr

 

 

二、创建一个核,来存储产品表中的数据

 

三、solr的核心结构

  1solr-webapp,就是我们上面访问的这个web项目。

(2)Solr-home,solr主目录,里面包含solr基本配置,还包含一多个核的配置。

(3)Core,核集群部署下叫collection一个core对应一个文档集合。类似于一张表

(4)Document,文档,solrlucene将要搜索的东西抽象成文档。类似于数据库一行记录。

(5)Field 一个document包含多个field每个field类型是fieldTypeField类似数据库字段。

(6)Schema.xml或者managed-schema描述document的文件类似于数据库结构

 

四、配置中文分词

  1IK中文分词器

(1)准备好ik分词器的jar包,可以自己编译,也可以下载我生成的。然后把它复制到tomcat/webapp/solr/WEB-INF/lib里面。

 

2打开/conf/managed-schema文件,追加如下配置

 

 

 

 

  2mmseg4j中文分词器

   1 下载地址:https://github.com/chenlb/mmseg4j-solr

jar下载下来,放到solr-webappWEB-INF/lib目录

 

  

   2)在solr-home/test/conf/managed-schema 文件中配置能够中文分词的fieldType

    


重新启动solr之后,点击分析器

 

也可以通过地址来查看:http://localhost:8983/solr/demo/analysis/field?q=name:江西财经大学&analysis.fieldtype=text_cn&indent=on&wt=json

四、配置完fieldType接着managed-schema配置field字段(注:此处的field必须和db-data-config.xml中的数据库字段一一对应)

 

五、配置db-data-config.xml

demo/config文件下创建db-data-config.xml

 

<dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver"
                url="jdbc:mysql://localhost:3306/dmeo?useUnicode=true&characterEncoding=utf8"
                user="root"
                password="root"/>
    <document>
        <entity name="test" query="select id,name,phone from test">
<field name="id" column="id" />
            <field name="name" column="name" />
<field name="phone" column="phone"/>
        </entity>
    </document>
</dataConfig>


 

 

 

 

 

新建data-import.properties文件。从solrexample-DIH/solr/db中复制htmljs文件solr-home/demo/conf目录下。

 

 

六、配置数据库导入工具(在solrconfig.xml文件中配置

 

 

  <requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
      <str name="config">db-data-config.xml</str>
    </lst>
  </requestHandler>


 


配置导入工具之后,试着导入数据

 

 

七、指定solr_home路径

 

完成上面操作之后

 

 

solr访问地址:http://localhost:8983/solr/demo/select?q=*&fq=name:* AND phone:*&start=0&rows=10&sort=name desc


                                                                 第二篇   Java中实现

一、maven配置

<!-- 搜索所需要的jar包 -->

<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>5.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.4.1</version>
</dependency>
<dependency>
<groupId>org.noggit</groupId>
<artifactId>noggit</artifactId>
<version>0.6</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
     <dependency>
	   <groupId>org.codehaus.woodstox</groupId>
           <artifactId>stax2-api</artifactId>
          <version>3.1.4</version>
     </dependency>
      <dependency>
             <groupId>org.codehaus.woodstox</groupId>
             <artifactId>woodstox-core-asl</artifactId>
              <version>4.4.1</version>
       </dependency>
       <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.7</version>
        </dependency>
        <dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
</dependency>


<!-- 搜索所需要的jar包 -->

二、代码中实现

public class Test {

    public static void main(String[] args) throws MalformedURLException {
             query();
    }
    public static SolrClient getClient() {
        String url = "http://localhost:8983/solr/demo/";
        SolrClient solr = new HttpSolrClient(url);
        return solr;
    }
    /**
     * 查询
     */
    public static void query() {
        SolrClient solr = getClient();
        SolrQuery query = new SolrQuery(); 
        query.set("q", "*:*");
        try {
            QueryResponse response = solr.query(query);
            SolrDocumentList list = response.getResults();
            System.out.println("共查询出" + list.getNumFound() + "条记录"); 
        } catch (SolrServerException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值