solr参数说明

  • q – 查询字符串,必须的。Solr 中用来搜索的查询。有关该语法的完整描述,请参阅 参考资料 中的
    “Lucene QueryParser
    Syntax”。可以通过追加一个分号和已索引且未进行断词的字段的名称来包含排序信息。默认的排序是 score
    desc
    ,指按记分降序排序。          
    q=myField:Java AND otherField:developerWorks; date
    asc
    此查询搜索指定的两个字段并根据一个日期字段对结果进行排序。

  • start – 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。

  • rows – 指定返回结果最多有多少条记录,配合start来实现分页。

  • sort – 排序,格式:sort=<field
    name>+<desc|asc>[,<field name>+<desc|asc>]…
    。示例:(inStock desc, price asc)表示先 “inStock” 降序, 再 “price”
    升序,默认是相关性降序。

  • wt – (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr
    1.3增加的,要用通知我们,因为默认没有打开。

  • fq – (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,

  • fl-
    field作为逗号分隔的列表指定文档结果中应返回的 Field 集。默认为
    *”,指所有的字段。“score” 指还应返回记分。例如
    *,score
    将返回所有字段及得分。用solrj的bean时,得在query中指定 query.set("fl",
    "*,score");

  • q.op –
    覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定

  • df – 默认的查询字段,一般默认指定

  • qt – (query type)指定那个类型来处理查询请求,一般不用指定,默认是standard。

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

  • version – 查询语法的版本,建议不使用它,由服务器指定默认值。

hight:
    
hl-highlight,h1=true,表示采用高亮。可以用h1.fl=field1,field2 来设定高亮显示的字段。

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

  • hl.requireFieldMatch:
    如果置为true,除非该字段的查询结果不为空才会被高亮。它的默认值是false,意味
    着它可能匹配某个字段却高亮一个不同的字段。如果hl.fl使用了通配符,那么就要启用该参数。尽管如此,如果你的查询是all字段(可能是使用
    copy-field 指令),那么还是把它设为false,这样搜索结果能表明哪个字段的查询文本未被找到

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

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

  • hl.snippets:
    这是highlighted片段的最大数。默认值为1,也几乎不会修改。如果某个特定的字段的该值被置为0(如f.allText.hl.snippets=0),这就表明该字段被禁用高亮了。你可能在hl.fl=*时会这么用。

  • hl.fragsize:
    每个snippet返回的最大字符数。默认是100.如果为0,那么该字段不会被fragmented且整个字段的值会被返回。大字段时不会这么做。

  • hl.mergeContiguous:
    如果被置为true,当snippet重叠时会merge起来。

  • hl.maxAnalyzedChars:
    会搜索高亮的最大字符,默认值为51200,如果你想禁用,设为-1

  • hl.alternateField:
    如果没有生成snippet(没有terms
    匹配),那么使用另一个字段值作为返回。

  • hl.maxAlternateFieldLength:
    如果hl.alternateField启用,则有时需要制定alternateField的最大字符长度,默认0是即没有限制。所以合理的值是应该为

  • hl.snippets * hl.fragsize这样返回结果的大小就能保持一致。

  • hl.formatter:一个提供可替换的formatting算法的扩展点。默认值是simple,这是目前仅有的选项。显然这不够用,你可以看看org.apache.solr.highlight.HtmlFormatter.java 和
    solrconfig.xml中highlighting元素是如何配置的。
    注意在不论原文中被高亮了什么值的情况下,如预先已存在的em
    tags,也不会被转义,所以在有时会导致假的高亮。

  • hl.fragmenter:
    这个是solr制
    定fragment算法的扩展点。gap是默认值。regex是另一种选项,这种选项指明highlight的边界由一个正则表达式确定。这是一种非典型
    的高级选项。为了知道默认设置和fragmenters (and
    formatters)是如何配置的,可以看看solrconfig.xml中的highlight段。
    regex
    的fragmenter有如下选项:

  • hl.regex.pattern:正则表达式的pattern

  • hl.regex.slop:这是hl.fragsize能变化以适应正则表达式的因子。默认值是0.6,意思是如果hl.fragsize=100那么fragment的大小会从40-160.

这些值都可以在select中加入,也可以用solrj的api去设定,也可以配置在solrconfig.xml中配置。
示例如下:
<requestHandler
name="search" class="solr.SearchHandler"
default="true">
    <!– default values for
query parameters can be specified,
these
         will be
overridden by parameters in the
request
     
–>
     <lst
name="defaults">
       <str
name="echoParams">explicit</str>
      
<int name="rows">10</int>
  
    <bool
name="hl">true</bool> 
      
<str name="hl.fl">title,content</str>
 
       <str
name="f.content.hl.fragsize">200</str>
  
    <str
name="mlt.qf">
        
id^10.0 title^10.0
content^1.0
      
</str>
    
</lst>
</requestHandler>

solr用着还是不错,比自己去搞Lucene好多了,可以加上jsoup去抓网页指定的内容,再配置下xml,用solrj写个好看的搜索页面。

时间: 2024-10-10 21:38:46

solr参数说明的相关文章

Solr基础理论与维护管理快速上手(含查询参数说明)

1. solr基础 因为 Solr 包装并扩展了 Lucene,所以它们使用很多相同的术语.更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容.通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引. 在 Solr 和 Lucene 中,使用一个或多个 Document 来构建索引.Document 包括一个或多个 Field.Field 包括名称.内容以及告诉 Solr 如何处理内容的元数据.例如,Fi

Solr使用入门指南

本文转自http://chuanliang2007.spaces.live.com/blog/cns!E5B7AB2851A4C9D2!499.entry?wa=wsignin1.0 由于搜索引擎功能在门户社区中对提高用户体验有着重在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有集中方案可供选择: 1. 基于Lucene自己进行封装实现站内搜索.工作量及扩展性都较大,不采用. 2. 调用Google.Baidu的API实现站内搜索.同第三方搜索引擎绑定太死,无法满足后期业

[转载] Solr使用入门指南

转载自http://blog.csdn.net/liuzhenwen/article/details/4060922 由于搜索引擎功能在门户社区中对提高用户体验有着重要的作用,在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有几种方案可供选择: 1. 基于Lucene自己进行封装实现站内搜索.工作量及扩展性都较大,不采用. 2. 调用Google.Baidu的API实现站内搜索.同第三方搜索引擎绑定太死,无法满足后期业务扩展需要,暂时不采用. 3. 基于Compass+Lu

solr入门教程

Solr 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试;两个核心配置文件介绍;维护索引;查询索引,和在查询中可以应用的高亮显示.拼写检查.搜索建议.分组统计.拼音检索等功能的使用方法. 1. Solr 是什么? Solr它是一种开放源码的.基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中.Solr 提供了层面搜索(就是统计).命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式).它易于安装和配置,而且附带了一个基于HT

Solr查询详解

一. 查询参数说明 在做solr查询的时候,solr提供了很多参数来扩展它自身的强大功能!以下是使用频率最高的一些参数! 1.常用 q - 查询字符串,这个是必须的.如果查询所有*:* ,根据指定字段查询(Name:张三 AND Address:北京) fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=Name:张三&fq=CreateDate:[20081001 TO 20091031],找关键字mm,并且CreateDate是200810

Solr基础

因为 Solr 包装并扩展了Lucene,所以它们使用很多相同的术语.更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容.通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引.在 Solr 和 Lucene 中,使用一个或多个 Document 来构建索引.Document包括一个或多个 Field.Field 包括名称.内容以及告诉 Solr 如何处理内容的元数据. 例如,Field 可以包含字符串.

Solr调研总结(转)

Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试.两个核心配置文件介绍.中文分词器配置.维护索引.查询索引,高亮显示.拼写检查.搜索建议.分组统计.自动聚类.相似匹配.拼音检索等功能的使用方法. 在代码文本框中如有显示不全的,请在文本框中按Ctrl+A再复制. 版本 作者/修改人 日期 V1.0 gzk 2013-06-04 1. Solr 是什么? Solr它是一种开放源码的.基于 Luce

solr 查询

solr 查询参数说明  常用 q - 查询字符串,必须的. fl - 指定返回那些字段内容,用逗号或空格分隔多个. start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用. rows - 指定返回结果最多有多少条记录,配合start来实现分页. sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]- . 示例:(inStock desc, price a

solr 重要的知识点

1 solr 查询参数说明 常用 1) q - 查询字符串,必须的. 2) fl - 指定返回那些字段内容,用逗号或空格分隔多个. 3) start - 返回第一条记录在完整找到结果中的偏移位置, 0 开始,一般分页用. 4) rows - 指定返回结果最多有多少条记录,配合 start 来实现分页. 5) sort - 排序,格式: sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… .示例:(