Solr:Slor初识(概述、Windows版本的安装、添加IK分词器)

java1234

共 1183字,需浏览 3分钟

 ·

2020-12-28 03:29

点击上方蓝色字体,选择“标星公众号”

优质文章,第一时间送达

  作者 |  怀梦想,致远方

来源 |  urlify.cn/mYzYvi

66套java从入门到精通实战课程分享

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 秒


感谢点赞支持下哈 

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报