Solr:Slor初识(概述、Windows版本的安装、添加IK分词器)
共 1183字,需浏览 3分钟
·
2020-12-28 03:29
点击上方蓝色字体,选择“标星公众号”
优质文章,第一时间送达
作者 | 怀梦想,致远方
来源 | urlify.cn/mYzYvi
1、Solr概述
(1)Solr与数据库相比的优势
搜索速度更快、搜索结果能够按相关度排序、搜索内容格式不固定等
(2)Lucene与Solr的区别
Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包
Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。
2、Solr的Windows版本的安装
(1)目录结构
Solr的启动在bin目录下,用的是内置的服务器不是很稳定
contrib:插件
dist:jar包
(2)安装
将Solr的example的webapps目录下的solr.war复制到tomcat的webapps目录下并解压
将example目录下的jar包放到tomcat的lib目录下:
配置家目录:
目录的内容是从solr中复制过来的:
在配置文件中配置:
solr/home
D:\Program_files\solr\solrhome
java.lang.String
(3)启动
先在bin目录下启动tomcat并访问Solr
3、Solr的后台界面
(1)添加核
在Solr的家目录复制一个collection并修改目录的名称,打开目录将配置文件中的name属性也更改为目录的名称
效果:
(2)功能
analysis:分词器
dataimport:导入数据库数据
Documents:进行增删改查
Query:查询
Files:配置文件(在核的conf目录下)
Ping:测试服务是否存在
(3)schema.xml配置文件中的域
域:
"title" type="text_general" indexed="true" stored="true" multiValued="true"/>
"subject" type="text_general" indexed="true" stored="true"/>
"description" type="text_general" indexed="true" stored="true"/>
"comments" type="text_general" indexed="true" stored="true"/>
"author" type="text_general" indexed="true" stored="true"/>
"keywords" type="text_general" indexed="true" stored="true"/>
"category" type="text_general" indexed="true" stored="true"/>
"resourcename" type="text_general" indexed="true" stored="true"/>
"url" type="text_general" indexed="true" stored="true"/>
"content_type" type="string" indexed="true" stored="true" multiValued="true"/>
"last_modified" type="date" indexed="true" stored="true"/>
"links" type="string" indexed="true" stored="true" multiValued="true"/>
动态域:
"*_i" type="int" indexed="true" stored="true"/>
"*_is" type="int" indexed="true" stored="true" multiValued="true"/>
"*_s" type="string" indexed="true" stored="true" />
"*_ss" type="string" indexed="true" stored="true" multiValued="true"/>
"*_l" type="long" indexed="true" stored="true"/>
"*_ls" type="long" indexed="true" stored="true" multiValued="true"/>
"*_t" type="text_general" indexed="true" stored="true"/>
"*_txt" type="text_general" indexed="true" stored="true" multiValued="true"/>
"*_en" type="text_en" indexed="true" stored="true" multiValued="true"/>
"*_b" type="boolean" indexed="true" stored="true"/>
"*_bs" type="boolean" indexed="true" stored="true" multiValued="true"/>
"*_f" type="float" indexed="true" stored="true"/>
"*_fs" type="float" indexed="true" stored="true" multiValued="true"/>
"*_d" type="double" indexed="true" stored="true"/>
"*_ds" type="double" indexed="true" stored="true" multiValued="true"/>
拷贝域:
source="cat" dest="text"/>
source="name" dest="text"/>
source="manu" dest="text"/>
source="features" dest="text"/>
source="includes" dest="text"/>
source="manu" dest="manu_exact"/>
实际搜索的是text域,就是将多个域进行合并,只搜索一个域
4、配置IK分词器
(1)导入jar包
(2)新建classes目录并创建配置文件
(3)自定义域的类型
"text_ik" class="solr.TextField">
"org.wltea.analyzer.lucene.IKAnalyzer"/>
(4)自定义域
"title_ik" type="text_ik" indexed="true" stored="true" />
"content_ik" type="text_ik" indexed="true" stored="false" multiValued="true"/>
(5)重启测试
粉丝福利:Java从入门到入土学习路线图
???
?长按上方微信二维码 2 秒
感谢点赞支持下哈