### SOLR中文文档知识点概述
#### 一、Lucene与SOLR的关系及全文搜索概念
1. **Lucene原理**:Lucene是Apache软件基金会4 Jakarta项目中的一个子项目,是一个高性能、全功能的文本搜索引擎库。它不是一个完整的应用,而是一个Java开发包(library),提供对文本进行索引和搜索的能力。
2. **全文搜索概念**:全文检索是指在系统存储的数据中提取任意内容,并根据用户提供的查询词,通过分析和匹配,找出用户所需要的文档或信息的技术过程。
3. **SOLR与Lucene的关系**:SOLR是基于Lucene的一个开源搜索平台,它提供了比Lucene更为高级的功能,如高亮显示、分面搜索等,并且支持分布式搜索和索引。
#### 二、SOLR的安装与配置
1. **下载与准备**:
- 下载`apache-solr-1.3.0.zip`和`tomcat5.5`。
- 将`apache-solr-1.3.0\example\webapps\solr.war`部署到Tomcat的webapps目录下。
2. **环境变量配置**:
- 在`apache-tomcat-5.5.26\conf\Catalina\localhost\`目录下新建`solr.xml`文件,配置如下:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="e:/tomcat/solr" override="true"/>
</Context>
```
- 设置`e:/tomcat/solr`为SOLR的主目录,并确保该路径下已创建相应的文件夹。
3. **文件复制**:
- 将`apache-solr-1.3.0\example\solr`下的所有文件复制到`e:/tomcat/solr`目录下。
4. **启动验证**:
- 启动Tomcat后,通过浏览器访问`http://localhost:8080/solr/admin/`来确认SOLR服务器是否成功运行。
#### 三、创建索引库
1. **索引库目录结构**:
- 在`e:/tomcat/solr`目录下新建名为`data`的文件夹,在`data`下再新建名为`index`的文件夹。
2. **索引文件存放**:
- 将使用Lucene创建好的索引文件放入`e:/tomcat/solr/data/index`目录下。
#### 四、SOLR索引配置
1. **配置文件解读**:
- SOLR的主要配置文件为`solrconfig.xml`和`schema.xml`,这两个文件位于`e:/tomcat/solr/conf`目录下。
2. **中文支持**:
- 对于中文搜索的支持,推荐使用庖丁分词器。在`schema.xml`中添加以下字段类型定义:
```xml
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="com.chuangs.fulltextsearch.analyzer.ChineseTokenizerFactory" mode="most-words"/>
</analyzer>
<analyzer type="query">
<tokenizer class="com.chuangs.fulltextsearch.analyzer.ChineseTokenizerFactory" mode="most-words"/>
</analyzer>
</fieldType>
```
- 同时可以定义单词级别的分词字段类型:
```xml
<fieldType name="word" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.solr.analysis.StandardTokenizerFactory"/>
</analyzer>
</fieldType>
```
- 配置相关搜索字段:
```xml
<field name="XXXX" type="text" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
<field name="XXXXWord" type="word" indexed="true" stored="true" multiValued="true" omitNorms="true"/>
```
#### 五、总结
通过以上步骤,我们可以了解到SOLR的基本安装配置流程以及如何支持中文搜索。这些知识点对于初学者来说是非常宝贵的资源,可以帮助他们快速上手SOLR并应用于实际项目中。此外,对于想要深入了解SOLR内部机制的开发者而言,掌握Lucene原理也是十分必要的。
- 1
- 2
前往页