知识点
相关文章
更多最近更新
更多新发现solr周边
2019-03-27 01:08|来源: 网路
http://code.google.com/p/solr-side/
http://www.teamwiki.cn/_export/raw/search/solr
====== solr ====== ===== centos下java运行环境 ===== <code>yum -y install java-1.6.0-openjdk java-1.6.0-openjdk-devel</code> ===== 安装===== - 先下载apache-tomcat-6.0.26.tar.gz http://tomcat.apache.org/download-60.cgi 解压,mv apache-tomcat-6.0.26 /usr/local/ 修改配置文件:vi /usr/local/apache-tomcat-6.0.20/conf/server.xml <code> <Connector port="8180" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /></code> - http://www.apache.org/dyn/closer.cgi/lucene/solr/ 下载 solr - 假如solr home为 /data/solr <code>cp apache-solr-1.4.0/dist/apache-solr-1.4.0.war /data/solr/dist cp -R apache-solr-1.4.0/example/solr/* /data/solr/ </code> - 在 tomcat/conf/Catalina/localhost 下放配置文件solr.xml <code><Context docBase="/data/solr/dist/apache-solr-1.4.0.war" debug="0" crossContext="true" reloadable="true"> <Environment name="solr/home" type="java.lang.String" value="/data/solr" override="true" /> </Context> </code> ===== 中文分词 ===== * 二元分词: 在/data/solr/conf/schema.xml中加:<code> <fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.CJKTokenizerFactory"/> </analyzer> </fieldType> </code> * 标准分词:汉字会以单字形式存在 <code> <fieldtype name="text" class="solr.TextField"> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.StandardFilterFactory"/> <filter class="solr.LowerCaseFilterFactory"/> <filter class="solr.StopFilterFactory"/> <filter class="solr.PorterStemFilterFactory"/> </analyzer> </fieldtype> </code> * mmseg4j分词: - 下载 [[http://mmseg4j.googlecode.com/files/mmseg4j-1.8.2.zip|mmseg4j-1.8.2.zip]] - 将 mmseg4j-all-1.8.2-with-dic.jar 放到 /data/solr/lib - 将词库放在 /data/solr/dic - 打开README.txt,里面的field type放在 schema.xml ===== solr-multicore配置 ===== - 复制dist/apache-solr-1.4.0.war到tomcat webapps目录 <code>cp /usr/local/src/apache-solr-1.4.0/dist/apache-solr-1.4.0.war /usr/local/apache-tomcat-6.0.20/webapps/</code> - tomcat/conf/Catalina/localhost目录下写一个solr-cores.xml文件 <code><Context docBase="/data/solr/dist/apache-solr-1.4.0.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="/data/solr/multicore" override="true" /> </Context></code> /data/solr/multicore 内容参考 apache-solr-1.4.0/example/multicore **通过api添加core** * 参考:http://wiki.apache.org/solr/CoreAdmin * 实例:http://61.150.91.x:8180/solr/admin/cores?action=CREATE&name=core5&&instanceDir=core5&config=/data/solr/unotice_xhdata/multicore/solrconfig.xml&schema=/data/solr/unotice_xhdata/multicore/schema.xml ===== 用法 ===== 优化: http://211.100.42.68:8180/solr/update?optimize=true&maxSegments=10&waitFlush=false 提交: http://211.100.42.68:8180/solr/update?commit=true 删除: <code> <delete><id>SP2514N</id></delete> <delete><query>type:bbs</query></delete> </code> 查询 http://211.100.42.68:8180/solr/select?indent=on&version=2.2&q=contents%3A%E6%90%9C%E7%8B%90&fq=&start=0&rows=10&fl=*%2Cscore&qt=standard&wt=php&explainOther=&hl=on&hl.fl=title%2Ccontents URL形式命令: http://211.100.42.68:8180/solr/update?stream.body=%3Cdelete%3E%3Cquery%3Eid:22727215%3C/query%3E%3C/delete%3E 文档:http://wiki.apache.org/solr/UpdateXmlMessages ===== Solr 使用自定义 Query Parser ===== 参考地址:[[http://blog.chenlb.com/2010/08/solr-use-custom-query-parser.html ]] SolrQueryParser 源码下载{{search:solr-1.4-query-parser-extend.zip|}}。 配置使用,把 solr-1.4-query-parser-extand-0.1.jar 放到 solr.home/lib 里面,此分词器需配合使用MMSeg4分词器使用。 **1、普通形式** 修改solrconfig.xml 中的 <code> <requestHandler name="standard" class="solr.SearchHandler" default="true" /> </code> 为 <code> <requestHandler name="standard" class="solr.SearchHandler" default="true"> <!-- default values for query parameters --> <lst name="defaults"> <str name="echoParams">explicit</str> <str name="defType">extlucene</str> </lst> </requestHandler> <queryParser name="extlucene" class="com.chenlb.solr.search.ExtLuceneQParserPlugin"/> </code> **2、multicore形式** 修改solrconfig.xml 中的 <code> <requestHandler name="standard" class="solr.StandardRequestHandler" default="true" /> </code> 为 <code> <requestHandler name="standard" class="solr.StandardRequestHandler" default="true"> <!-- default values for query parameters --> <lst name="defaults"> <str name="echoParams">explicit</str> <str name="defType">extlucene</str> </lst> </requestHandler> <queryParser name="extlucene" class="com.chenlb.solr.search.ExtLuceneQParserPlugin"/> </code> 重启tomcat即可 ** 两种查询语句对比 ** - 正常语句 * http://211.100.42.190:8180/solr/select/?q={word}&indent=on - 分词之后的语句 * http://211.100.42.190:8180/solr/select/?q={word}&defType=extlucene&indent=on ===== 相似性问题 ===== * 字段上加 <code>termVectors="true"</code> * 示例 <code>http://61.150.91.179:8180/solr/core6/select/?q=id:2&mlt=true&mlt.fl=title,txt&mlt.mindf=1&mlt.mintf=1&fl=id,score,url,title&%20mlt.match.include=true</code> * 文档 http://wiki.apache.org/solr/MoreLikeThis ===== 常见问题 ===== 1. xml中不能包括 & ,遇到应该替换为& 2. post时一定要加Content-Type: text/xml的header,不然会包400错 PHP <code php> $xml = "<add><doc> ... </doc></add>"; $header[] = "Content-Type: text/xml"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $xml); $data = curl_exec($ch); if (curl_errno($ch)) { echo " curl error:", curl_error($ch); } else { curl_close($ch); } </code> python: <code python> try: req = urllib2.Request(posturl,data=xml) #req.add_header('Content-Type', 'text/xml') f = urllib2.urlopen(req) print 'read:', f.read() except urllib2.HTTPError, e: print e except Exception, e: print e </code> 3. 简单的示例已经完成了,索引文件(默认)会在 CWD/solr/data/index 目录下,要改为 solr.home/data目录下,在 F:\apache-solr-1.3.0\example\solr\conf\solrconfig.xml 把 dataDir 注释掉,如: <code> <!-- <dataDir>${solr.data.dir:./solr/data}</dataDir> --> </code> ===== 参考资料 ===== * http://wiki.chenlb.com/solr/ * http://www.ibm.com/developerworks/cn/java/j-solr1/ * [[http://www.cnblogs.com/cy163/archive/2009/09/18/1569681.html|solr 使用安装介绍]] * http://www.jwebstar.com.cn/docs/installsolr.html * http://blog.chenlb.com/2009/04/solr-chinese-segment-mmseg4j-use-demo.html * solr查询参数说明:http://blog.chenlb.com/2009/03/solr-query-params-explain.html * 定义自己的solr查询插件 http://blog.chenlb.com/2009/02/use-custom-solr-queryparser.html * solr Multicore http://blog.chenlb.com/2009/01/try-solr-multicore.html
转自:http://www.cnblogs.com/lexus/archive/2011/08/18/2144916
相关问答
更多-
绥化学院周边经济[2023-05-03]
-
成都周边哪里可以摘樱桃[2022-05-02]
成都周边摘樱桃的地方还是比较多的,给你推荐几个,你可以选择一下。 1、简阳樱桃沟:在龙泉到简阳途中的贾家镇。 2、青白江人和乡:走成南高速清泉出口。 3、蒲江樱桃山:在蒲江的光明乡。 4、彭州花园沟:在彭州的葛仙山镇。 5、崇州樱桃沟:在崇州的道明镇。 这些地方都是摘樱桃的地方,一般情况1、3人比较多,2、4、5人要少一些。 -
见仁见智,利害攸关【智利】 至高无上,海枯石烂【上海】 饱食终日,本末倒置【日本】 (成人之美),国计民生【美国】 见多识广,(东山再起)【广东】 (心心相印),度日如年【印度】 你这个题目应该是不全的,后三缉定光剐叱溉癸税含粳个没有配对成语,我帮你配了三个。两两组合后应该是地名。 愿对你有所帮助!
-
插件网页清楚地表明该插件与Android Studio 2.2以上版本的Android Gradle Plugin不兼容。 Android Gradle指标 您目前的替代方案是: 禁用Android Gradle Metrics插件(它允许您升级到Android Studio 2.3) 将Android Studio保留在2.2上 Plugin web page clearly states on the bottom that the plugin is incompatible with Android ...
-
catch (WhateverException e) { throw e; } 将简单地重新抛出您遇到的异常(显然,周围的方法必须通过其签名等来允许)。 异常将保持原始堆栈跟踪。 catch (WhateverException e) { throw e; } will simply rethrow the exception you've caught (obviously the surrounding method has to permit this via its signa ...
-
得到它了。 您可以将后缀添加到domain-urlfilter.txt,如“gov.uk”,作为第186-189行的DomainURLFilter源代码 : if (domainSet.contains(suffix) || domainSet.contains(domain) || domainSet.contains(host)) { return url; } 它检查后缀,域和主机。 此外,您可以将域URL保留在HBase表中,并通过您自己的过滤器插件管理它们,而不是使用Do ...
-
如何让SOLR发现错误?(how do I make SOLR find mistakes?)[2023-05-21]
我自己没有尝试过,但可能是PhoneticFilterFactory可以提供帮助。 它基于提供的令牌生成语音相似的令牌。 I haven't tried it myself, but it might be that the PhoneticFilterFactory can be of help. It generates phonetically similar tokens based on a provided token. -
只是对于其他任何想知道我的结论的人...我认为使用日历来选择日期并保留目前为止的选择器看起来会更好。 对于日历,这里有一个很好的实现: https : //github.com/klazuka/Kal Just for any others wondering about my conclusions... I think it would look better to use a calendar to pick the date and keep a picker for the time so far ...
-
为什么TFS Power Tools 2012无法识别新发现的项目?(Why does TFS Power Tools 2012 not recognise newly uncloaked project?)[2022-02-27]
我注意到Power Tools有时会与图标叠加层发生冲突,特别是当它们与其他人竞争时(如SVN)。 当您的PC上有多个工作区时,它也会发生冲突。 如您所述,请确保项目在两个工作区中都未显示。 I have noticed Power Tools sometimes has conflicts with icon overlays, particularly when they compete with others (like SVN). It can also conflict when you have ...