solr 基本使用

1,schema.xml:

schema.xml在SolrCore的conf目录下,主要用于配置域名以及域类型的使用 (域名要先定义后使用)

1.1,solr的域:Field

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

name:域名

type:域的类型(也需要配置)

indexed:是否索引  true索引 false不索引

stored:是否存储

required:是否必须,一般只有id才是必须

multiValued:是否可以多值  为true的时,里面的值采取数据方式存储,比如上传的图片会有大中小三个版本。

1.2,solr的动态域配置:dynamicField

<dynamicField name="*_i"  type="int"    indexed="true"  stored="true"/>

name:指定域的名称。域的名称是通过域的表达式来确定的。

type:域的类型,使用动态域的时候要确定该域的类型

1.3,solr的主键域 uniqueKey

每个文档中都应该有一个唯一主键

<uniqueKey>id</uniqueKey>

1.4,solr的复制域

<copyField source="cat" dest="text"/>

source:原域

dest:目标域

原域:<field name="cat" type="string" indexed="true" stored="true" multiValued="true"/>

目标域:<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>

目标域一定是:multiValued:true

1.5,solr的域的类型   fieldType

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
	<tokenizer class="solr.StandardTokenizerFactory"/>
	<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
	<!-- in this example, we will only use synonyms at query time
	<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
	-->
	<filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
	<tokenizer class="solr.StandardTokenizerFactory"/>
	<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
	<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
	<filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

name:域的类型的名称

class:指定solr的类型

analyzer:配置分词器

type:index(索引分词器) query(查询分词器)

tokenizer:分词器

filter:过滤器

 2,配置中文分词器:

只用ikAnalyzer

2.1,拷贝jar包

2.2,拷贝配置文件

2.3,配置域的类型

2.4,配置域

2.5,重启tomcat测试

3,业务域名的配置

3.1,

猜你喜欢

转载自wangshirufeng.iteye.com/blog/2297220