solr 学习资料

转自solr一大堆学习资料


这篇博客含有海量资料,学习solr必备字典solr 学习资料
大概看完solr就基本上手了。
solr原味资料:http://wiki.apache.org/solr/FrontPage

http://wiki.apache.org/solr/QueryParametersIndex
http://wiki.apache.org/solr/SchemaXml
http://wiki.apache.org/solr/CoreAdmin
http://wiki.apache.org/solr/ExtractingRequestHandler
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
http://wiki.apache.org/solr/LanguageAnalysis
http://wiki.apache.org/solr/DataImportHandler#Overview
http://wiki.apache.org/solr/Solrj
http://wiki.apache.org/solr/SolrQuerySyntax

solr咀嚼资料一(如联接消失可下载附件):
solr咀嚼资料二:http://www.ibm.com/developerworks/cn/java/j-solr1/#basics
solr咀嚼资料三:http://www.ibm.com/developerworks/cn/java/j-solr-update/index.html
solr咀嚼资料四(多核(MultiCore)配置 ):
slor咀嚼资料五(几个solr高手):

http://lianj-lee.iteye.com/category/71985

http://wutaoo.iteye.com/category/58704?show_full=true


DataImportHandler的译文:

讲的较没用,但很深的:http://liuxinglanyue.iteye.com/category/133220

solr源码分析:


solr讲的不错的solr高级配置:

solr.solr.home的配置和理解:
配置的是程序主目录,程序根据这个目录查找源文件,如System.setProperty("solr.solr.home", "./");源码分析中有介绍:

在index页面在赋予下面多索引的链接。方法如下
<%
org.apache.solr.core.CoreContainer cores = (org.apache.solr.core.CoreContainer)request.getAttribute("org.apache.solr.CoreContainer");
if( cores != null
&& cores.getCores().size() > 0 // HACK! check that we have valid names...
&& cores.getCores().iterator().next().getName().length() != 0 ) {
for( org.apache.solr.core.SolrCore core : cores.getCores() ) {%>
<a href="<%= core.getName() %>/admin/">Admin <%= core.getName() %></a><br/>
<% }} else { %>
<a href="admin/">Solr Admin</a>
<% } %>

建议建立了一个拷贝字段,将所有的全文字段复制到一个字段中,以便进行统一的检索:
<field name="all" type="text" indexed="true" stored="false" multiValued="true"/>
并在拷贝字段结点处完成拷贝设置:
Xml代码
<copyField source="name" dest="all"/>
<copyField source="summary" dest="all"/>

defaultSearchField
可以将某个Field设置为defaultSearchField,当没有明确的查询Field的时候,来查询这个Filed,该Filed一般设置为multiValued,copyField多个Filed


Solr Multicore 是 solr 1.3 的新特性。其目的一个solr实例,可以有多个搜索应用。
在solr.xml中配置,如:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
<cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
</cores>
</solr>
instanceDir是solr.home,即core0,core1索引资源文件所在的路径
name是solr请求的路径,如http://localhost:8393/core0/admin/可进入core的admin页面,
solrj可以用http://localhost:8393/core0/..对该索引请求操作

ExtractingRequestHandler是文件提取,可用于word、pdf等文件提取
可参考

中文分词采用lucene自带的CjkAnalyzer分词:


采用cjk有俩原因,一、我使用的solr的版本只有1.4.0,lucene的版本也只有2.9.1,自带的中文分析器只有cjk。
二、cjk不用引入外部的jar报和字典库,简单,快~~

UniqueKey的问题:
默认是有这个属性的,也可以没有,如果有UniqueKey,add的时候,会先看该UniqueKey是否存在,如果存在则覆盖,不存在则新增

对于DateField的查询:
日期格式的字段的查询很恶心,必须是UTC格式,并且效率低下,建议是先将date字段转化为int或者long再存入索引。http://wiki.apache.org/solr/SolrQuerySyntax

以上为转载的资料

--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=华丽的分割线-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=--

以下为自己收藏的Blog

Solr\Lucene优劣势分析,http://rdc.taobao.com/team/jm/archives/1999



;