机器上已安装 : Tomcat 7 jdk1.7
访问 http://www.apache.org/dyn/closer.cgi/lucene/solr , 在这个网址里选择一个路径 , 下载 solr 3.5 的版本
1、将将解压后的solr中的lucene\apache-solr-3.5.0\example\solr目录下的文件拷贝到要作为服务器的位置,我是放在这个路径下的:D:\luceneData\solr\home
2、将相应的solr的web程序也拷贝出来,即lucene\apache-solr-3.5.0\example\webapps下的solr.war拷贝到D:\luceneData\solr\server<dataDir>${solr.data.dir:D:\luceneData\solr\home\data}</dataDir>
<Context path="/solr" docBase="D:\luceneData\solr\server\solr" reloadable="false"> <Context>
<Context path="/solr" docBase="D:\luceneData\solr\server\solr" reloadable="false"> <Environment name="solr/home" type="java.lang.String" value="D:\luceneData\solr\home" override="true"/> <Context>
将这段代码注释(solrconfig.xml中)。取消VelocityResponseWriter这种输出格式。
验证:访问http://localhost:8088/solr/,如果出现Welcome to Solr!,说明我们配置solr成功~
7、加入中文分词( schema.xml )7.1将中文分词的包拷贝到D:\luceneData\solr\server\solr\WEB-INF\lib目录下
7.2将中文分词添加到FieldType中
<fieldType name="textComplex" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="textMaxWord" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/> </analyzer> </fieldType> <fieldType name="textSimple" class="solr.TextField" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/> </analyzer> </fieldType>
FieldType类型 , name 是这个 FieldType 的名称 , class 指向了 org.apache.solr.analysis 包里面对应的 class 名称 , 用来定义这个类型的定义 。在 FieldType 定义的时候最重要的就是定义这个类型的数据在建立索引和进行查询的时候要使用的分析器analyzer,包括分词和过滤 。
Fields 字段 : 结点内定义具体的字段(类似数据库中的字段) , 就是 field , 包含 name , type(为之前定义过的各种FieldType) , indexed(是否被索引) , stored(是否被存储) , multiValued(是否有多个值)
copeField(赋值字段): 建立一个拷贝字段 , 将所有的全文字段复制到一个字段中 , 以便进行统一的检索 。