全文检索-solr

  1. solr概念:
    Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
    solr中域的作用:
    自定义域名和类型就是为了保存数据库表中一列一列的数据, 表中的列名要和索引库的域名对应

  2. solr中域的分类:
    field普通域: 大多数情况都可以用这个域来完成, 主要定义了域名和域的类型.
    dynamicField动态域: solr中域名要先定义后使用, 没有定义就使用会报错, 如果没有定义的域名想使用可以
    模糊匹配动态域, 让没有定义的域名可以使用.
    uniqueKey主键域: 在添加数据的时候必须有主键域, 没有会报错, 这个不用添加也不用修改, 就使用这个默认的
    域名id就可以.
    copyField复制域: 复制域中有source叫做源域, dest代表目标域, 在维护数据的时候, 源域中的内容会复制到
    目标域中一份, 从目标域中搜索, 就相当于从多个源域中搜索一样.

  3. solr特点:
    Solr是一个高性能,采用Java开发,
    基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

  4. ik中文分词器:
    作用: 有中文语义分析的效果, 对中文分词效果好.
    配置文件:
    stopword.dic停止词典: 且分词的时候, 凡是出现在停止词典中的词都会被过滤掉.
    ext.dic扩展词典: 凡是专有名词都会放到这里, 如果自然语义中不是一个词, 放到这里后solr
    切分词的时候就会切分成一个词.

  5. solrj:
    solrJ是solr官方推出的客户端工具包, 将solrj的jar包放到我们项目中, 我们调用solrj中的api来远程给
    solr服务器发送命令, solr服务器就可以完成对索引库的操作(添加修改删除查询)

  6. spring Data Solr:
    这是一个spring组织生产的一个操作solr的工具, 底层使用的是solrJ. 使用它可以将solrj那种原有的面向命令的操作
    改为面向对象的操作, Java程序员使用起来更容易理解, 方便.

  7. spring Data Solr里面的Criteria对象中的方法, is和contains的区别:
    contains: 是相当于数据库中like模糊查询的方式, 将查询关键字当成一个整体进行模糊查询is: 将查询关键字使用对应这个域的分词器进行切分词, 然后将切分出来的每个词, 进行查询.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值