五、新建核心

五、新建核心

Solr安装完成后默认是没有核心的。需要手动配置。

需要在solr/server/solr下新建文件夹,并给定配置文件,否则无法建立。

1.新建目录

在/usr/local/solr/server/solr中新建自定义名称目录。此处示例名称为testcore。

# cd /usr/local/solr/server/solr
# mkdir testcore

2.复制配置文件

在configsets里面包含了default和sample_techproducts_configs。里面都是配置文件示例。default属于默认配置,较纯净。sample_techproducts_configs是带有了一些配置示例。

# cp -r configsets/_default/conf/ testcore/

3.填写Core信息

在可视化管理界面中Core Admin中编写信息后点击Add Core后,短暂延迟后testcore就会创建成功。schema处不用更改。

4.出现testcore

在客户端管理界面中,选择新建的Core后,就可以按照自己项目的需求进行操作了。

六、分词Analysis

在Solr可视化管理界面中,Core的管理菜单项中都会有Analysis。表示根据Scheme.xml(managed-schema)中配置要求进行解析。

对英文解析就比较简单了,只要按照空格把英文语句拆分成英文单词即可。

但是如果条件是中文时,把一句话按照字进行拆分就不是很合理了。正确的方式是按照合理的词组进行拆分。

1.配置步骤

上传ik-analyzer.jar到webapps中。

Maven Central Repository Search下载对应版本的ik-analyzer。可以在资料中直接获取。

1.1上传jar到指定目录

上传ik-analyzer-7.7.0.jar到

/usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib目录中

1.2修改配置文件

修改/usr/local/solr/server/solr/testcore/conf/managed-schema

# vim /usr/local/solr/server/solr/testcore/conf/managed-schema

添加下面内容。

排版:Esc 退出编辑状态下:gg=G

<field name="myfield" type="text_ik" indexed="true" stored="true" />
    <fieldType name="text_ik" class="solr.TextField">
            <analyzer type="index">
                    <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
                    <filter class="solr.LowerCaseFilterFactory"/>
            </analyzer>
            <analyzer type="query">
                    <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
                    <filter class="solr.LowerCaseFilterFactory"/>
            </analyzer>
    </fieldType>

1.3重启

# cd /usr/local/solr/bin
# ./solr stop -all
# ./solr start -force

1.4验证

可以在可视化管理界面中找到myfield属性进行验证。

2.managed-schema配置说明

2.1< fieldType/>

表示定义一个属性类型。在Solr中属性类型都是自定义的。在上面配置中name=”text_ik”为自定义类型。当某个属性取值为text_ik时IK Analyzer才能生效。

2.2< field/>

表示向Document中添加一个属性。

常用属性:

name: 属性名

type:属性类型。所有类型都是solr使用<fieldType>配置的

indexed: 是否建立索引

stored: solr是否把该属性值响应给搜索用户。

required:该属性是否是必须的。默认id是必须的。

multiValued:如果为true,表示该属性为复合属性,此属性中包含了多个其他的属性。常用在多个列作为搜索条件时,把这些列定义定义成一个新的复合属性,通过搜索一个复合属性就可以实现搜索多个列。当设置为true时与< copyField source="" dest=""/>结合使用

2.3< uniqueKey>

唯一主键,Solr中默认定义id属性为唯一主键。ID的值是不允许重复的。

2.4< dynamicField>

名称中允许*进行通配。代表满足特定名称要求的一组属性。

msb_java    

msb_bigdata

msb_UI

msb_*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值