欢迎投稿

今日深度:

Solr基本概念,

Solr基本概念,


Solr是一种开放源码的、基于Lucene的搜索服务器。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。
官网:http://lucene.apache.org/solr/

Solr全文检索基本原理:

http://www.importnew.com/12707.html


相关概念:
  • Core:    对应于standalone(独立模式)
  • Collection:    对应于solrCloud(云模式)。注:在独立模式以是以core来管理,在云模式下是collection来管理。
  • facet维度,相当于对查询结果的统计
  • constraints约束,维度中的子类
  • breadcrumb面包屑,根据选择, 列出的导航路径(选中列表)
俗话说“一张图胜过一千个字”,比如淘宝搜索“数码相机”,这三个概念对应如下:


搜索请求参数:
参数 说明
q 要搜索的内容。
  • 如果要搜索一个句子,用引号引起来:q="Hello wolrd"
  • 如果指定搜索某个域:q=field_name:content
  • 如果是中文,用引号引起来,就是全内容匹配才返回,如:q="笔记"
  • 如果要搜索多个单词、句子,使用加号(+):q="笔记"+"配置"
  • 如果要排除含有某个关键字的,使用减号(-):q="笔记"-"配置"
fq Filter Query,搜索结果过滤(结果会被缓存起来):
  • fq=popularity:[10 to *]:只返回popularity大于10的结果
  • 需要同时满足两个条件的情况:fq=popularity:[10 TO *]&fq=section:0
  • 上面这种也可以写成:fq=popularity:[10 TO *]+fq=section:0
后两种的不同点:前一种:搜索结果分开存在缓存中,然后取交集;后一种:搜索结果存在一个缓存中
sort 指定搜索结果按照某个域来排序,例子:
  • score desc(缺省):按照搜索分数降序排序
  • price asc:按照“price”域升序排序
  • nStock desc, price asc:先按照nStock降序,再按照price升序
start, rows
返回第start条开始,一共rows条记录,例子:
  • start=11&rows=100
  • 缺省:start=0, rows=10
fl 要返回的域,比如“id”、*,如果有多个,用逗号(,)分开,还可以返回score。例子
  • fl=id,name
  • fl=id,score
  • fl=*,score
df  默认的查询字段,重新指定并覆盖schema.xml中的default field
wt 结果的格式,json, xml...
facet 统计查询结果: 按某个域统计:facet=true&facet.field=author(按照“author”这个域统计)
参考:https://cwiki.apache.org/confluence/display/solr/Searching

目录说明:
  • dist 各种jar包 
  • contrib 各种jar包 
  • bin 常用命令脚本 
  • server web服务器 
    • solr 创建的core会在该目录下 
      • configsets  solr配置集,新建的core可以从这里拷贝配置 
      • xx-core 
        • conf 配置文件 
          • solrconfig.xml solr的配置信息 
          • schema.xml 分词器配置信息 
        • data 索引等数据 
    • logs 日志文件 
    • webapps web程序部署位置 
  • example  
    • example-DIH 数据导入工具 
  • licenses 各种授权协议 
  • docs api文档

(原创文章,转载请注明转自Clement-Xu的博客)

www.htsjk.Com true http://www.htsjk.com/solr/36133.html NewsArticle Solr基本概念, Solr是一种开放源码的、基于Lucene的搜索服务器。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。 官网:http://lucene.apache.org/solr/ Solr全文检索基本原理: http:/...
相关文章
    暂无相关文章
评论暂时关闭