solr4.5笔记(二)—— solr的数据交互

向上一篇文章中的core0添加数据;

新建一个web工程,lib添加一下jar包


新建测试类:

public class Av  {
	@Field
	private int id;
	
	@Field
	private String type;
	
	@Field
	private String name;

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

}


public class SolrTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		SolrServer server = new HttpSolrServer(
				"http://http://localhost:8088/solr/core0/");
		try {
			/*
			 * server.deleteByQuery("*:*"); 
			 * server.commit();
			 */
			addIndexDoc(server);
			addIndexDocWithPojo(server);
			searchDocMapToPojo(server);
		} catch (SolrServerException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	public static void addIndexDoc(SolrServer server)
			throws SolrServerException, IOException {
		// 对应schema.xml
		SolrInputDocument doc1 = new SolrInputDocument();
		doc1.addField("id", 1);
		doc1.addField("type", "女优");
		doc1.addField("name", "波多野吉衣");

		SolrInputDocument doc2 = new SolrInputDocument();
		doc2.addField("id", 2);
		doc2.addField("type", "女优");
		doc2.addField("name", "苍井空");

		SolrInputDocument doc3 = new SolrInputDocument();
		doc3.addField("id", 3);
		doc3.addField("type", "女优");
		doc3.addField("name", "龙泽洛拉");

		SolrInputDocument doc4 = new SolrInputDocument();
		doc4.addField("id", 4);
		doc4.addField("type", "女优");
		doc4.addField("name", "小泽玛莉亚");

		Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
		docs.add(doc1);
		docs.add(doc2);
		docs.add(doc3);
		docs.add(doc4);

		server.add(docs);

		server.commit();
	}

	public static void addIndexDocWithPojo(SolrServer server)
			throws SolrServerException, IOException {
		Av av = new Av();
		av.setId(5);
		av.setName("加藤鹰");
		av.setType("男优");

		List<Av> avs = new ArrayList<Av>();
		avs.add(av);
		server.addBeans(avs);
		server.commit();
	}

	public static void searchDocMapToPojo(SolrServer server)
			throws SolrServerException {
		SolrQuery solrQuery = new SolrQuery().setQuery("name:*小泽");
		QueryResponse rsp = server.query(solrQuery);
		List<Av> list = rsp.getBeans(Av.class);
		for (Av av : list) {
			System.out.println(av.getName());
		}
	}

}

可以先执行添加数据的

访问:http://localhost:8088/solr/#/core0/query

执行查询




接着查看


可以看到 并没有进行分词

下面加入中文分词

第一篇文章中我们已经想solr中加入了mmseg4j分词器

开始配置:

编辑 core0/conf/schema.xml


重启solr或者点击重新加载配置文件的选项 使配置生效

清空以前加入的数据

执行




在执行以前添加数据的代码

查看分词结果



检测一下分词效果





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值