1 solr 查询参数说明

常用

) q - 查询字符串,必须的。
) fl - 指定返回那些字段内容,用逗号或空格分隔多个。
) start - 返回第一条记录在完整找到结果中的偏移位置, 开始,一般分页用。
) rows - 指定返回结果最多有多少条记录,配合 start 来实现分页。
) sort - 排序,格式: sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:( inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。注:排序字段 只能针对数值型如: int,dobuble 等…
) wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3 增加的,要用通知我们,因为默认没有打开。
) fq - ( filter query)过虑查询,作用:在 q 查询符合结果中同时是 fq 查询符合的,例如:q=mm&fq=date_time:[ TO ],找关键字 mm,并且 date_time 是 到 之间的。官方文档:http://wiki.apache.org/solr/CommonQueryParameters#head-6522ef80f22d0e50d2f12ec487758577506d6002

2) 不常用

) q.op - 覆盖 schema.xml 的 defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定
) df - 默认的查询字段,一般默认指定
) qt - ( query type)指定那个类型来处理查询请求,一般不用指定,默认是 standard。
) 其它
) indent - 返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试 json,php,phps,ruby 输出才有必
要用这个参数。
) version - 查询语法的版本,建议不使用它,由服务器指定默认值。

2 solr检索运算符

. “ :” 指定字段查指定值,如返回所有值*:*
. “ ?” 表示单个任意字符的通配
. “ *” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)
.“ ~” 表示模糊检索,如检索拼写类似于” roam”的项这样写: roam~将找到形如foam和roams的单词; roam~0.8,检索返回相似度在0.8以上的记录。
. 邻近检索,如检索相隔10个单词的” apache”和” jakarta”,” jakarta apache” ~
. “ ^” 控制相关度检索,如检索jakarta apache,同时希望去让” jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^ apache
. 布尔操作符AND、 ||
. 布尔操作符OR、 &&
. 布尔操作符NOT、 !、 - (排除操作符不能单独与项使用构成查询)
.“ +” 存在操作符,要求符号” +”后的项必须在文档相应的域中存在
. ( ) 用于构成子查询
. [] 包含范围检索,如检索某时间段记录,包含头尾, date:[ TO ]
. {} 不包含范围检索,如检索某时间段记录,不包含头尾 date:{ TO } 注:范围检索字段只适用于:String,int,dobule,date不能用于long型的字段
. \ 转义操作符,特殊字符包括+ - && || ! ( ) { } [ ] ^ ” ~ * ? : \

3 字段增加权重

在很多时候,我们可能会需要增加某一个字段的权重,以合理的显示搜索结果。
例如:有一个schma,有三个字段: chapterId, title, content. 我们希望某一个关键字如果在title中匹配了,就要优先显示,而在content中匹配了,就放在搜索结果的后面。当然,如果两者同时匹配当然没什么好说的了。看看solr中如何做到吧。
title:(test1 test2)^ content:(test1 test2)
给title字段增加权重,优先匹配,关于^后面的数字4,经过我测试,最佳值应该是有n个字段就写成n+,当然希望大家能更好的去测试!

 4 facet 字段分组

http://wiki.apache.org/solr/SimpleFacetParameters

.facet.field  

分组的字段

.facet.prefix 

表示Facet字段前缀

.facet.limit 

Facet字段返回条数

.facet.offset

开始条数,偏移量,它与facet.limit配合使用可以达到分页的效果

.facet.mincount 

Facet字段最小count,默认为0

.facet.missing 

如果为on或true,那么将统计那些Facet字段值为null的记录

.facet.method 

取值为enum或fc,默认为fc, fc表示Field Cache

.facet.enum.cache.minDf 

当facet.method=enum时,参数起作用,文档内出现某个关键字的最少次数

4.1 JSON Facet API (solr 5.1)

http://yonik.com/json-facet-api/

Count Distinct in Solr (实现对某个字段进行Distinct 的统计)

$ curl http://localhost:8983/solr/techproducts/query -d '
q=*:*&
json.facet={
x : "unique(manu_exact)" // manu_exact is the manufacturer indexed as a single string
}

 

solr 重要的知识点的更多相关文章

  1. 【solr基础教程之一】Solr相关知识点串讲

           Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API,但它只作为一个API库存在,而不能直接用于搜索.因此,Solr基于Lucene构建了一个完 ...

  2. 【solr基础教程之中的一个】Solr相关知识点串讲

           Solr是Apache Lucene的一个子项目.Lucene为全文搜索功能提供了完备的API.但它仅仅作为一个API库存在.而不能直接用于搜索. 因此,Solr基于Lucene构建了一 ...

  3. Solr的知识点学习

    Solr单机版的安装与使用 1.Solr单机版的安装与使用,简单写了如何进行Solr的安装与使用.那么很多细节性问题,这里进行简单的介绍.我使用的是Solr与Tomcat整合配置. 2.什么是Solr ...

  4. Solr知识点摘录

    1.Solr和Lucene区别: 2.Solr的下载与安装 3. 4. 5. 6.Solr基础 7. 8.Solr索引操作 9. 10.

  5. Nutch搜索引擎(第2期)_ Solr简介及安装

    1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化 ...

  6. Solr查询详解

    前言:上节是关于Solr的开发准备工作:.NET开发过程中的全文索引使用技巧之Solr(http://www.cnblogs.com/johnwood/p/3447242.html) 这节重点是讲So ...

  7. 指尖上的电商---(2)Solr全文搜索引擎的准备工作

    Solr是一个基于Lucene的全文搜索引擎.提供了更丰富的搜索语言.更灵活的配置.更高的查询效率. 一句话.与Lucene相比.有过之而无不及.这一节里, 主要谈论两个知识点:Jdk的安装和Tomc ...

  8. Solr集群、KI分词、项目实战

    Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供了一个完善 ...

  9. Nutch搜索引擎Solr简介及安装

    Nutch搜索引擎(第2期)_ Solr简介及安装   1.Solr简介 Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的 ...

随机推荐

  1. redis,docker和kubernetes留言簿案例实战

    kubernetes实战-基于redis和docker的留言簿案例 [置顶] kubernetes实战-基于redis和docker的留言簿案例 标签: dockerkubernetesredis 2 ...

  2. 简明Python3教程 16.标准库

    简介 python标准库作为python标准安装的一部分,其自身包含数量庞大的实用模块, 因此熟悉python标准库非常重要,因为很多问题都能利用python标准库快速解决. 下面我们将研究标准库中的 ...

  3. 2014辛星在读CSS第八节 使用背景图片

    这应该是系统CSS本教程的最后一节,为什么,由于本节.我觉得基础已经完成,接下来的就是无休止的战斗,战斗非常难用知识讲出来,通过积累,战斗经验.这些都不是说出来. 伟大,下来说一下用CSS加入背景图片 ...

  4. 安德鲁斯Toast它们的定义和防止重复显示器

    Toast安卓系统,当用户错误或功能运行完成,提示,要求用户,它不集中,并且将在一定时间内消失.然而,在用户继续误(如登录,password错)当次,将有多个Toast创建.系统会把这些toast放进 ...

  5. WPF无边框实现拖动效果

    这是在做弹幕的时候遇到的一个需求 透明背景,拖动弹幕=.= private void Window_MouseLeftButtonDown(object sender, MouseButtonEven ...

  6. jquery li练习2-恢复链条

    <!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  7. 加快QT工程编译速度(还可给Qt for Android设置)

    一.多核编译 环境:win10, Qt 5.4.1,编译器mingw32 项目: Qt for Android Qt Creator 在编译android项目时不支持预编译,默认cpu单核编译,工程稍 ...

  8. facebook javascript api 使用

    官方api文档:http://developers.facebook.com/docs 先简单的介绍下创建一个app(https://developers.facebook.com/apps),

  9. liunx 查看php 安装的扩展

    /usr/local/php5/bin/php -i |less 查看配置文件在哪里,编译参数 /usr/local/php5/bin/php -m |less 查看php加载的模块

  10. QT的进程与线程(cmd /c的写法)

    该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 导语 在前面的几节内容中讲解了Qt网络编程的一些基本内容,这一节来看一下在Qt中进程和线程的基本应 ...