• Solr 08


    1 Solr管理页面的查询入口

    选中需要查询的SolrCore, 然后在菜单栏选择[Query]:
    图片

    2 Solr查询输入框简介

    (1) select: 查询请求处理器.
    图片

    (2) q: 是query的简写, 指定查询表达式.
    图片

    *:* ——表示查询所有, 比如:
    product_name:花儿朵朵, 表示"product_name"字段中包含"花儿朵朵".

    (3) fq: 是filter query的简写, 是一个数组, 可以指定多个. 在q的查询结果中, 执行过滤. 前提是: 必须先指定q查询.
    图片

    product_price:[* TO 20], 表示查询商品价格在20块钱以内, 包含20;
    product_price:[* TO 20}, 表示查询商品价格在20块钱以内, 不包含20.

    (4) sort: 指定搜索结果的排序.
    图片

    product_price desc —— 表示按照商品价格降序;
    product_price asc —— 表示按照商品价格升序;
    product_price desc, product_catalog asc —— 表示按商品价格降序, 按商品分类id升序(多个Field排序, 以半角逗号<也就是英文中的逗号“,”>分割).

    (5) start,rows: 指定搜索结果分页:
    图片

    与MySQL等数据库中的limit不同, 这里:

    start —— 表示从第start条文档开始;
    rows —— 表示返回rows条文档.

    (6) fl: 是field list的简写, 用来指定搜索结果显示的域列表.
    图片

    (7) id, product_name, product_price, product_catalog_name, 表示返回的结果中, 只显示商品Id, 商品名称, 商品价格, 商品类别名称这几个Field的内容, 其他的Field不显示.

    (8) df: 是default field的简写, 指定默认搜索域 —— 只能指定一个, 会覆盖schema.xml文件中的配置.
    图片

    (9) wt: 是writer type的简写, 指定返回搜索结果时的显示格式, 也就是响应的数据的格式, 其中csv是一种类似于记事本的格式.

    indent: 缩进, 格式良好地显示查询结果;
    debugQuery: 打印查询的调试信息.
    图片

    (10) dismax、edismax: 查询解析器, 一般不选择. /select等使用的是标准查询解析器.

    (11) hl: 是highlight的简写, 用来设置高亮显示. 前提: 高亮显示的field, 需要存储, 也就是在schema.xml文件中配置stored=true.
    图片

    hl.fl: 高亮显示的域的名称;
    hl.simple.pre: 高亮显示的HTML标签前缀;
    hl.simple.post: 高亮显示的HTML标签后缀;
    hl.requireFieldMatch: 默认为false, 若选中(为true), 则需要hl.fl指定字段, 查询结果才会高亮;
    hl.usePhraseHighlighter: 如果查询语句中含有引号括起来的短语, 那么只有完全匹配短语的内容才会高亮;
    hl.highlightMultiTerm: 默认为false, 若选中且hl.usePhraseHighlighter为true时, 如果使用通配符和模糊搜索, 那么会确保与通配符匹配的term才会高亮.

    (12) facet: 是Solr中的统计接口, 意为分组统计(分片统计), 如电商中的组合多条件搜索:
    图片

    facet查询设置界面:
    图片
    facet.query: 指定组内初始化统计条件
    facet.field: 指定分组统计的域的名称(通常使用分类域)
    facet.prefix: 指定组内过滤查询条件的前缀

    (13) spatial: 空间查询, 是基于经纬度坐标点的地理位置查询.

    (14) spellcheck: 拼写检查, 也就是在输入检索的字段时, 尽心智能提醒和匹配.

    3 Solr管理页面的查询方案

    说明: 使用SolrJ实现页面的查询效果, 要求参数和结果与页面一致.

    (1) 页面搜索条件:
    图片

    (2) 页面搜索结果:
    文档结果以及分组统计结果:
    图片

    (3) 高亮显示结果:
    图片

    注意事项:

    ① 由上图可知, Solr在高亮查询时, 高亮结果集与正常结果集是分开返回的, 为了与正常结果集中的其他内容相匹配, 这里需要设置主键进行结果的关联.
    ② 另外, 对于multiValued=true的字段, 不要进行高亮设置 -- 它只会返回匹配高亮的值, 不能确定是何条数据.
    ③ 也可通过HTTP请求的方式进行高亮设置, HTTP请求示例:
    http://localhost:7070/solr/select?q=product_name:花儿朵朵&hl=true&hl.fl=product_name&hl.simple.pre=<font color='red'>&hl.simple.post=</font>
    ④ 也可通过配置solrconfig.xml文件, 是默认搜索方案具有高亮功能: 在<requestHandler name="/select" class="solr.SearchHandler" default="true">下配置.
    图片

    版权声明

    作者: 马瘦风

    出处: 博客园 马瘦风的博客

    您的支持是对博主的极大鼓励, 感谢您的阅读.

    本文版权归博主所有, 欢迎转载, 但请保留此段声明, 并在文章页面明显位置给出原文链接, 否则博主保留追究相关人员法律责任的权利.

  • 相关阅读:
    SQL SERVER中如何用SQL语句给表的栏位加注释sp_addextendedpropert
    baidu搜索出现错误提示页面
    ASP.NET MVC V2 Preview 1 发布 期望VS有更好的表现
    业务逻辑层实现事务处理
    FCKEidtor自動統計輸入字符個數(IE)
    Asp.Net 关于Could not load file or assembly 'Microsoft.Office.Interop.Excel, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies.问题的解决方法。
    Jquery Tabs 在asp.net 中的应用
    IBM总架构师寇卫东:话说程序员的职业生涯
    我喜欢的15个WordPress插件<转>
    The SqlParameter is already contained by another SqlParameterCollection.
  • 原文地址:https://www.cnblogs.com/shoufeng/p/9838795.html
Copyright © 2020-2023  润新知