solr 5.5 java_solr5.5.5的搭载IK和java客户端

solr版本5.5.5:

一、solr5.5.5可以独立部署,使用默认的Jetty启动

3、启动服务器: bin/solr start

4、验证服务是否启动: 在浏览器中输入:http://IP:8983/solr/ 端口默认是8983 要想修改的话,启动的时候加上参数 -p 8983

5、创建core: bin/solr create -c mycore

5、添加中文分词器: 这里采用的是IK分词器,添加分词器是刚刚创建的core中添加: 位置:${PATH}\server\solr\mycore\conf\managed-schema 添加下面的内容:

并且把jar包添加到:(注意这里的jar一定要版本对应) ${PATH}\server\solr-webapp\webapp\WEB-INF\lib 目录下

验证IK是否安装成功。没有安装成功的话会提示mycore 的core有问题。也可以查看solr的日志。

重启服务器: bin/solr restart -p 8983 注意重启要指定端口要不然报错

然后看看分词效果:

效果还是不错的。

6、添加解析word文档的requestHandler,在${PATH}\server\solr\mycore\conf\solrconfig.xml 添加下面内容:

last_modified

ignored_

yyyy-MM-dd

7、配置索引的域:(这里要根据自己的需求修改) 修改动态域:

二、java客户端:

1、配置java客户端SolrJ: 如果使用maven参考:http://blog.csdn.net/xiaokang123456kao/article/details/72846591 下面介绍添加jar包的方式: 在${PATH}\dist\solrj-lib下的jar,除了这个下面的所有jar还要包括:log4j的包和slf4j和log4j的中间包。${PATH}\server\lib\ext 下面有这两个。然后再项目中添加log4j.properties文件。这个在${PATH}\server\resources中有,直接拷贝到项目中就可以。

2、哦了,写测试代码:

package com.boco.solr.mycore;

import java.io.File;

import java.io.IOException;

import org.apache.solr.client.solrj.SolrQuery;

import org.apache.solr.client.solrj.SolrServerException;

import org.apache.solr.client.solrj.impl.HttpSolrClient;

import org.apache.solr.client.solrj.request.AbstractUpdateRequest;

import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;

import org.apache.solr.client.solrj.response.QueryResponse;

import org.apache.solr.common.SolrDocument;

import org.apache.solr.common.SolrDocumentList;

public class SolrTest {

private static String URL = "http://127.0.0.1:8983/solr/mycore";

public static void create() {

// 链接到本地的core1核心文件

HttpSolrClient server = null;

try {

server = new HttpSolrClient(URL);

ContentStreamUpdateRequest up = new ContentStreamUpdateRequest(

"/update/extract");

up.addFile(new File("D:/操作手册模版(初稿).doc"),"application/word");

up.setParam("literal.id", "p_12");//使用预案的ID

up.setParam("fmap.content", "attr_content");

up.setParam("fmap.content_type", "documentFormat");

up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true);

server.request(up);

server.commit();

} catch (SolrServerException | IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

if(server != null) {

try {

server.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

public static void query() {

HttpSolrClient server = null;

try {

server = new HttpSolrClient(URL);

// 定义查询内容 * 代表查询所有 这个是基于结果集

SolrQuery query = new SolrQuery("于培海"); // 定义查询内容

//query.setStart(0);// 起始页

//query.setRows(4);// 每页显示数量

query.setParam("df", "attr_content");

query.setParam("fl","id");

QueryResponse rsp = server.query(query);

SolrDocumentList results = rsp.getResults();

System.out.println("-----------------------------------------");

System.out.println(results.getNumFound());// 查询总条数

for (SolrDocument doc : results) {

System.out.println(doc.get("id"));

}

System.out.println("-----------------------------------------");

} catch (SolrServerException | IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

try {

server.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public static void main(String[] args) {

try {

create();

query();

} catch (Exception e) {

e.printStackTrace();

}

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值