首页 » 网站推广 » phpsolrquery技巧_搜索引擎四Solr的API接口及查询参数

phpsolrquery技巧_搜索引擎四Solr的API接口及查询参数

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

wiki 地址:http://wiki.apache.org/solr/FrontPage, 里面有各个参数详细的先容。

  

phpsolrquery技巧_搜索引擎四Solr的API接口及查询参数

一.基本查询

  q 查询的关键字,此参数最为主要,例如,q=id:1,默认为q=:,

phpsolrquery技巧_搜索引擎四Solr的API接口及查询参数
(图片来自网络侵删)

  fl 指定返回哪些字段,用逗号或空格分隔,把稳:字段区分大小写,例如,fl= id,title,sort

  start 返回结果的第几条记录开始,一样平常分页用,默认0开始

  rows 指定返回结果最多有多少条记录,默认值为 10,合营start实现分页

  sort 排序办法,例如id desc 表示按照 “id” 降序

  wt (writer type)指定输出格式,有 xml, json, php等

  fq (filter query)过滤查询,供应一个可选的筛选器查询。
返回在q查询符合结果中同时符合的fq条件的查询结果,例如:q=id:1&fq=sort:[1 TO 5],找关键字id为1 的,并且sort是1到5之间的。

  df 默认的查询字段,一样平常默认指定。

  qt (query type)指定那个类型来处理查询要求,一样平常不用指定,默认是standard。

  indent 返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一样平常调试json,php,phps,ruby输出才有必要用这个参数。

  version 查询语法的版本,建议不该用它,由做事器指定默认值。

二. Solr的检索运算符

  “:” 指定字段查指定值,如返回所有值:

  “?” 表示单个任意字符的通配

  “” 表示多个任意字符的通配(不能在检索的项开始利用或者?符号)

  “~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。

  AND、|| 布尔操作符

  OR、&& 布尔操作符

  NOT、!、-(打消操作符不能单独与项利用构成查询)

  “+” 存在操作符,哀求符号”+”后的项必须在文档相应的域中存在²

  ( ) 用于构成子查询

  [] 包含范围检索,如检索某韶光段记录,包含头尾,date:[201507 TO 201510]

  {} 不包含范围检索,如检索某韶光段记录,不包含头尾date:{201507 TO 201510}

三. 高亮

  h1 是否高亮,hl=true,表示采取高亮

  hl.fl 设定高亮显示的字段,用空格或逗号隔开的字段列表。
要启用某个字段的highlight功能,就得担保该字段在schema中是stored。
如果该参数未被给出,那么就会高亮默认字段 standard handler会用df参数,dismax字段用qf参数。
你可以利用星号去方便的高亮所有字段。
如果你利用了通配符,那么要考虑启用hl.requiredFieldMatch选项。

  hl.requireFieldMatch 如果置为true,除非用hl.fl指定了该字段,查询结果才会被高亮。
它的默认值是false。

  hl.usePhraseHighlighter 如果一个查询中含有短语(引号框起来的)那么会担保一定要完备匹配短语的才会被高亮。

  hl.highlightMultiTerm 如果利用通配符和模糊搜索,那么会确保与通配符匹配的term会高亮。
默认为false,同时hl.usePhraseHighlighter要为true。

  hl.fragsize 返回的最大字符数。
默认是100.如果为0,那么该字段不会被fragmented且全体字段的值会被返回。

四. 分组

  官方wiki:http://wiki.apache.org/solr/SimpleFacetParameters#Facet_Fields_and_Facet_Queries,

  这是facet的官方wiki,里面有facet各个参数的详细解释。
以是这里只说一些常用的。

  Facet是Solr的核心搜索功能,紧张是导航(Guided Navigation)、参数化查询(Paramatic Search)。
Facet的紧张好处是在搜索的同时,可以按照Facet条件进行分组统计,给出导航信息,改进搜索体验。

  Facet紧张分为:Field Facet 和 Date Facet 两大类

  1. Field Facet

    facet 参数字段必须被索引

    facet=on 或 facet=true

    facet.field 分组的字段

    facet.prefix 表示Facet字段前缀

    facet.limit Facet字段返回条数

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

    facet.mincount Facet字段最小count,默认为0

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

    facet.sort 表示 Facet 字段值以哪种顺序返回 .格式为 true(count)|false(index,lex),true(count) 表示按照 count 值从大到小排列,false(index,lex) 表示按照字段值的自然顺序 (字母 , 数字的顺序 ) 排列 . 默认情形下为 true(count)

  2. Date Facet

    对日期类型的字段进行 Facet. Solr 为日期字段供应了更为方便的查询统计办法 .把稳 , Date Facet的字段类型必须是 DateField( 或其子类型 ). 须要把稳的是 , 利用 Date Facet 时 , 字段名 , 起始韶光 , 结束韶光 , 韶光间隔这 4 个参数都必须供应 .

    facet.date 该参数表示须要进行 Date Facet 的字段名 , 与 facet.field 一样 , 该参数可以被设置多次 , 表示对多个字段进行 Date Facet.

    facet.date.start 起始韶光 , 韶光的一样平常格式为 ” 2015-12-31T23:59:59Z”, 其余可以利用 ”NOW”,”YEAR”,”MONTH” 等等 ,

    facet.date.end 结束韶光

    facet.date.gap 韶光间隔,如果 start 为 2015-1-1,end 为 2016-1-1,gap 设置为 ”+1MONTH” 表示间隔1 个月 , 那么将会把这段韶光划分为 12 个间隔段 .

    facet.date.hardend 表示 gap 迭代到 end 时,还剩余的一部分韶光段,是否连续去下一个间隔. 取值可以为 true|false, 默认为 false.

    例 start 为 2015-1-1,end 为 2015-12-21,gap 为 ”+1MONTH”, 如果hardend 为 false,则,末了一个韶光段为 2015-12-1 至 2016-1-1; 反之,如果 hardend 为 true,则,末了一个韶光段为 2015-12-1 至 2015-12-21.

  把稳:Facet的字段必须被索引,无需分词,无需存储。
无需分词是由于该字段的值代表了一个整体观点,无需存储是由于一样平常而言用户所关心的并不是该字段的详细值,而是作为对查询结果进行分组的一种手段,给出干系的分组信息,从而改进搜索体验。

末了

以上就把solr参数查询先容完了。
接下来会先容solr 的利用。

这个是solr搜索引擎的系列课程,大家有任何问题,可以关注我的头条号(章为忠学架构)与我互换。

推举阅读:

搜索引擎Solr(三)熟习Solr管理后台

搜索引擎Solr(一)Solr做事器的安装与配置

Solr系列总结(一)Solr入门简介

标签:

相关文章

介绍直播新纪元,轻松进入直播的五大步骤

随着互联网技术的飞速发展,直播行业在我国逐渐崛起,越来越多的人选择通过直播这一新兴媒介展示自己、分享生活、传递价值。对于许多新手来...

网站推广 2025-01-03 阅读1 评论0

介绍相机美颜原理,科技与美学的完美结合

随着科技的发展,智能手机的摄像头功能日益强大,美颜相机成为了许多人拍照的首选。美颜相机不仅满足了人们对于美的追求,更在视觉上给人带...

网站推广 2025-01-03 阅读1 评论0

介绍磁铁的制造,科学与艺术的完美结合

磁铁,一种神秘的物质,自古以来就吸引了无数人的目光。它不仅具有独特的磁性,还能在工业、医疗、科研等领域发挥重要作用。磁铁是如何制造...

网站推广 2025-01-03 阅读1 评论0

介绍电瓶激活方法,让电池焕发新生

随着科技的不断发展,电动汽车逐渐成为人们出行的首选。而电瓶作为电动汽车的核心部件,其性能直接影响着车辆的续航里程和行驶体验。新购买...

网站推广 2025-01-03 阅读1 评论0