`

solr查询参数使用说明

    博客分类:
  • 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写个好看的搜索页面。有空自己用grails写一个玩下看。

分享到:
评论
3 楼 coldrush 2013-07-01  
写的太好了,赞美lz
2 楼 dandongsoft 2013-06-20  
1 楼 dandongsoft 2013-06-20  
 

相关推荐

    solr6.5使用的IK分词

    5. **使用说明**: 提供的`说明.txt`文件中应包含关于如何使用IK分词器的详细指南,包括如何查询、如何调整分词策略等。请参照该文件进行操作。 通过以上步骤,你就可以在Solr 6.5中成功集成并使用IK分词器了。这将...

    Solr操作说明文档

    "Solr 操作说明文档" Solr 是一个基于 Lucene 的企业搜索平台,它提供了强大的搜索功能和高效的索引处理能力。...Solr 操作说明文档提供了详细的 Solr 使用指南和配置说明,为用户提供了一个详细的 Solr 使用手册。

    match-query-parser,在solr中使用不同的查询时间分析器搜索单个字段.zip

    在`match-query-parser-master`这个压缩包中,很可能包含了`match-query-parser`的源代码、配置示例以及如何在Solr中集成和使用的说明。通过查看源码,你可以了解其内部工作原理,包括如何处理查询字符串,以及它是...

    solr文件下载即用

    - 这个文本文件可能是Solr的配置说明或者使用指南,包含关于如何设置和使用Solr的详细步骤。 - 可能包含特定的配置参数、启动指令,或者是开发者提供的联系方式15290810931@163.com,以便在遇到问题时寻求帮助。 ...

    Solr3.5开发应用指导

    - **3.1.2 SOLR的使用过程说明**:一般流程包括创建索引、添加文档、执行查询和获取结果等步骤。 **3.2 一个简单的例子** - **3.2.1 SolrSchema设计**:定义文档的结构,包括字段名称、字段类型等。 - **3.2.2 ...

    solr+tomcat处理后的简易部署+说明文档(下)

    根据需要调整索引和查询参数,优化搜索体验。 提供的"说明文档.docx"可能包含更详细的步骤和注意事项,建议仔细阅读。在实际部署中,你可能还需要考虑安全设置、集群配置、性能调优等问题。总之,结合Solr与Tomcat...

    solr7.5官方文档

    文档详细解释了 Solr 支持的查询语法,包括如何构造复杂的查询表达式、如何使用通配符等高级功能。 #### JSON 请求 API 文档中提供了 JSON 请求 API 的使用示例,这是一种用于向 Solr 发送复杂查询的强大工具。 #...

    solr教材-PDF版

    - **3.1.2 SOLR的使用过程说明**:概述了从搭建环境到实际应用Solr的整个流程。 **3.2 一个简单的例子** - **3.2.1 SolrSchema设计**:通过一个具体的例子展示如何设计SolrSchema。 - **3.2.2 构建索引**:演示...

    solr安装资源

    通过调整查询参数,可以优化搜索性能和用户体验。 6. **Solr集群设置**:对于高可用性和负载均衡的需求,可以搭建Solr集群。集群中的每个节点称为一个SolrCloud,它们通过ZooKeeper进行协调。配置Sharding(分片)...

    solr压力测试报告

    **并发读写方法**:通过实现`Runnable`接口,使用Solr API模拟用户查询和索引插入操作。 3. **查询方式**:采用组合查询结合模糊过滤查询。例如:搜索类别为“健康”和“汽车”,并且描述信息包含“污染”的所有...

    solr开发应用教程

    通过`q`参数指定查询字符串,其他参数如`fl`用于指定返回字段,`sort`用于排序,`rows`控制返回结果的数量。结果可以用JSON、XML或HTML格式展示。 五、高级特性 1. 分词器与过滤器:Solr允许自定义分词规则,如英文...

    solr4.8.1 for linux

    以下是对 Solr 4.8.1 在 CentOS 上安装和使用的关键知识点的详细说明: 1. **Apache Solr**:Solr 是一个基于 Lucene 的全文搜索服务器,提供了分布式、可伸缩性和高可用性,支持多种数据源,如 XML、CSV 和 JSON。...

    solr入门教程

    Solr 是一个开源的全文搜索引擎...这仅仅是Solr功能的冰山一角,更深入的使用包括设置复杂的查询过滤器、优化索引性能、实现多语言支持等。随着你对Solr理解的深入,你会发现它在大数据搜索和分析领域具有巨大的潜力。

    solr 企业搜索引擎教程

    - **solrconfig.xml**:配置Solr的行为参数,如缓存策略、查询处理器等。 #### 11. Solr 的应用示例 - **索引设计**:定义文档结构和字段属性。 - **构建索引**:通过API或命令行工具向Solr发送数据以创建索引。 -...

    solr搜索自动补全

    综合以上信息,我们可以理解,实现Solr搜索自动补全功能涉及到前端和后端的紧密配合,需要对多个组件进行配置和调整,包括但不限于Solr的配置、JavaScript插件的使用、JSP文件的修改以及可能的样式表调整。...

    Solr reRank简介

    - **参数说明**: - `q=name:张江松`:指定查询条件为“name”字段包含“张江松”的文档。 - `&sort=agedesc`:设置第一轮排序规则为按“age”字段降序排列。 - `&rq={!rerank reRankQuery=$rrq reRankDocs=100 ...

    apache-solr-ref-guide

    Solr提供了一个易于使用的基于Web的管理界面,开发者可以通过Web界面来管理Solr配置文件,提交查询,查看日志文件设置以及监控和控制分布式配置。 文档中还涉及了Solr的文档、字段以及模式设计的相关内容。Solr通过...

    solr4.4.0入门配置步骤

    如果页面没有异常,说明Solr已经安装并配置成功。 上述步骤是基于最基础的环境进行Solr4.4.0的入门配置。在实际应用中,可能还需要根据具体需求进行进一步的配置优化,例如调整内存设置、修改默认的搜索参数等。...

    apache-solr-ref-guide-7.4(官方英文-文字版本)

    4. **查询语法和解析**:详细说明了 Solr 支持的查询语法及其解析规则。 5. **JSON 请求 API**:介绍了如何使用 JSON 格式发送复杂的查询请求。 6. **JSON 面向 API**:提供了使用 JSON 格式进行面向 API 的查询...

    solr in action

    - **查询语言**:详细解释Solr支持的查询语法及如何构造复杂的查询表达式。 - **结果处理**:讨论如何高效地获取和展示搜索结果,包括排序、分页等。 #### 分面搜索 - **分面概念**:介绍分面搜索的基本原理及其...

Global site tag (gtag.js) - Google Analytics