- 浏览: 293964 次
- 性别:
- 来自: 东京
文章分类
最新评论
-
80后的童年2:
企业级分布式搜索平台Solr视频教程网盘地址:https:// ...
企业级搜索引擎Solr使用入门指南 -
springdata_spring:
apache lucene开源框架demo使用实例教程源代码下 ...
Lucene / Solr 开发经验 -
springdata-jpa:
java web开发分页demo源代码下载:http://ww ...
简易java分页标签 -
zjf_sdnu:
兄弟,script写错了
jqGrid初学备注 -
85600367:
你好,请教一个问题。当进行分布式查询时solr无法查询到Luc ...
Lucene / Solr 开发经验
将源代码修改为传递字符串,去掉files以及stdin模式。
package com; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import java.io.Writer; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.ProtocolException; import java.net.URL; /** * @author Clay Zhong - Email: zjclay@gmail.com * @date Sep 15, 2008 */ public class SimplePostTool { public static final String DEFAULT_POST_URL = "http://localhost:8080/solr/update"; public static final String POST_ENCODING = "UTF-8"; private static final String SOLR_OK_RESPONSE_EXCERPT = "<int name=\"status\">0</int>"; private static final boolean DEFAULT_COMMIT = true; protected URL solrUrl; public SimplePostTool(URL solrUrl) { this.solrUrl = solrUrl; } private class PostException extends RuntimeException { PostException(String reason, Throwable cause) { super(reason + " (POST URL=" + solrUrl + ")", cause); } } public static void main(String[] args) { StringBuffer request = new StringBuffer("<add><doc>"); request.append("<field name=\"id\">F8V7067-APL-KIT</field>"); request.append("<field name=\"name\">Belkin Mobile Power Cord for iPod w/ Dock</field>"); request.append("<field name=\"manu\">Belkin</field>"); request.append("<field name=\"cat\">electronics</field>"); request.append("<field name=\"cat\">connector</field>"); request.append("<field name=\"features\">car power adapter, white</field>"); request.append("<field name=\"weight\">4</field>"); request.append("<field name=\"price\">19.95</field>"); request.append("<field name=\"popularity\">1</field>"); request.append("<field name=\"inStock\">false</field>"); request.append("</doc></add>"); URL url = null; try { url = new URL(DEFAULT_POST_URL); } catch (MalformedURLException e) { fatal("System Property 'url' is not a valid URL: " + url); } final SimplePostTool simplePostTool = new SimplePostTool(url); try { if (request.length() > 0) { info("Posting args to " + url); final StringWriter writer = new StringWriter(); simplePostTool.postData(new StringReader(request.toString()), writer); warnIfNotExpectedResponse(writer.toString(), SOLR_OK_RESPONSE_EXCERPT); } if (DEFAULT_COMMIT) { info("Commiting Solr index changes.."); final StringWriter writer = new StringWriter(); simplePostTool.commit(writer); warnIfNotExpectedResponse(writer.toString(), SOLR_OK_RESPONSE_EXCERPT); } } catch (IOException ioe) { fatal("Unexpected IOException " + ioe); } } /** * Does a simple commit operation */ public void commit(Writer output) throws IOException { postData(new StringReader("<commit/>"), output); } /** * Reads data from the data reader and posts it to solr, writes to the response to output */ public void postData(Reader data, Writer output) { HttpURLConnection urlc = null; try { urlc = (HttpURLConnection) solrUrl.openConnection(); try { urlc.setRequestMethod("POST"); } catch (ProtocolException e) { throw new PostException("HttpURLConnection doesn't support POST?", e); } urlc.setDoOutput(true); urlc.setDoInput(true); urlc.setUseCaches(false); urlc.setAllowUserInteraction(false); urlc.setRequestProperty("Content-type", "text/xml; charset=" + POST_ENCODING); OutputStream out = urlc.getOutputStream(); try { Writer writer = new OutputStreamWriter(out, POST_ENCODING); pipe(data, writer); writer.close(); } catch (IOException e) { throw new PostException("IOException while posting data", e); } finally { if (out != null) out.close(); } InputStream in = urlc.getInputStream(); try { Reader reader = new InputStreamReader(in); pipe(reader, output); reader.close(); } catch (IOException e) { throw new PostException("IOException while reading response", e); } finally { if (in != null) in.close(); } } catch (IOException e) { fatal("Connection error (is Solr running at " + solrUrl + " ?): " + e); } finally { if (urlc != null) urlc.disconnect(); } } /** * Pipes everything from the reader to the writer via a buffer */ private static void pipe(Reader reader, Writer writer) throws IOException { char[] buf = new char[1024]; int read = 0; while ((read = reader.read(buf)) >= 0) { writer.write(buf, 0, read); } writer.flush(); } /** * Check what Solr replied to a POST, and complain if it's not what we expected. TODO: parse the * response and check it XMLwise, here we just check it as an unparsed String */ static void warnIfNotExpectedResponse(String actual, String expected) { if (actual.indexOf(expected) < 0) { warn("Unexpected response from Solr: '" + actual + "' does not contain '" + expected + "'"); } } static void warn(String msg) { System.err.println("SimplePostTool WARNING: " + msg); } static void info(String msg) { System.out.println("SimplePostTool: " + msg); } static void fatal(String msg) { System.err.println("SimplePostTool FATAL: " + msg); System.exit(1); } }
发表评论
-
Struts2 Jsonplugin 详解
2009-07-08 21:41 7062本文转自: http://www.blogjava.net/f ... -
一点struts json备注
2009-07-05 00:30 1505下载struts json插件:jsonplugin-0.33 ... -
Hibernate annotation简单配置
2009-06-29 00:04 1616<?xml version="1.0" ... -
Liferay下整合Spring和Hibernate开发Plugin初试
2009-05-26 00:41 4843简单的说,完全不知道Liferay下应该如何做开发。所以完全凭 ... -
Liferay plugin开发入门
2009-05-19 00:10 2687本篇部分引用以下文章: http://daoger.itey ... -
Hibernate通用DAO
2009-01-02 17:46 3597/** * @author Clay Zhong, zjcl ... -
Acegi获取用户信息
2008-12-04 23:38 2814import org.acegisecurity.Authen ... -
Acegi详解
2008-11-16 21:15 1736本文转自:http://www.yuanma.org/data ... -
velocity.properties source code
2008-11-04 22:37 2966# Licensed to the Apache Softwa ... -
DetachedCriteria,Hibernate模糊查询
2008-09-21 10:59 41611,假设存在Thesis对象: package org.cms ... -
lucene常用搜索排序摘录
2008-09-16 23:38 3108一,查询 一个关键字,对一个字段进行查询 Query ... -
Struts2,Spring2,Hibernate3整合
2008-09-15 11:44 33281. web.xml <?xml version=&qu ... -
企业级搜索引擎Solr使用入门指南
2008-09-10 22:43 16624本文转自 http://chuanliang2 ... -
Lucene / Solr 开发经验
2008-09-10 22:12 19977转自 Lucene/Solr开发经验[原] 作者 张驰有道 ... -
Lucene初学备注
2008-09-07 19:51 12281,检索文件目录,创建index import java.io ... -
JR各Ajax框架基础教程收集
2008-08-24 12:19 1168JQuery: http://www.javaresearch ... -
Spring 2.0 中配置 JPA
2008-04-20 16:57 3843翻译:SpringSide团队 转载请注明出处。 本文提供了 ... -
Hibernate延迟加载
2008-02-09 16:22 2710延迟初始化错误是运用Hibernate开发项目时最常见的错误。 ... -
Properties资源文件编码
2008-01-26 17:26 14801、展开Eclipse的Help菜单,将鼠标移到Softwar ... -
struts+hibernate分页
2007-12-17 20:53 1695新建表 sql 代码 DROP DATABAS ...
相关推荐
少有的solr中文文档,详细说明了SOLR的文件配置,使用。
solr中文分词器
solr 中文分词
solrcore 添加修改控制
solr中Cache综述 以及部分优化策略
支持solr5.5 solr6.0中IK分词需要的资料
solr中文教程,solr帮助文档,快速搭建solr
solr中的mmesg4j中文分词器安装详细步骤文档
solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...
Solr5.4的中文分词库,解压拷贝到Solr5.4.0的WEB-INF目录下即可,如非默认数据保存路径,要修改web.xml文件
solr6.0的中文分词也支持solr5.x,IKAnalyzer.jar和配置文件
解压出来的jar包放到apache-tomcat-9.0.20\webapps\solr\WEB-INF\lib下(Tomcat项目里solr项目)其他三个文件放到apache-tomcat-9.0.20\webapps\solr\WEB-INF\classes下(Tomcat项目里solr项目)然后进行ik分词器的...
IKAnalyzer中文分词器本身已经不支持最新的solr 5,集成到solr中分词会报错,这里将解决了solr 5支持问题的最新IK包共享出来,希望能帮到各位! 附上IK在schema.xml中的配置: <fieldType name="text_ik" class="...
zip包含ik-analyzer-solr5-5.x.jar,ext.dic,IKAnalyzer.cfg.xml,stopword.dic。可以兼容solr7 ,亲测可用。
由于网上提供的solr中文分词器大多不吃吃6.5以上,会报错(具体错误提示忘了),这里提供高版本,内含使用教程
solr中文分词jar包ik-analyzer 含class配置 ik-analyzer-7.5.0
solr中文解析器以及使用文档,配合blog使用
solr4.7中文企业开发参考文档.包含了检索建议,分组查询,各个参数代表的意义详细配置
solr中文分词器 IKAnalyzer 支持solr版本5.x到7.x 亲测可用,我用的是7.2版本