简单介绍

QueryResponseWriter是solr的一个插件,与上一章讲的SolrRequestHandler是配对的,用于定义solr查询结果的返回格式。

回到solr admin的查询页面,我们能够看到wt下拉框中的可选项包含,json,xml,csv等不同的返回格式,查询结果将会以所选择的返回格式返回。solr作为一个独立的web服务,在开发过程中都希望把它当作一个单独的专门提供搜索服务的平台,因此在与solr对接的时候,就会面临以什么格式交互的问题,幸运的是,solr已经提供了多种返回交互格式,方便大家在与solr服务交互的过程中依据项目的需求选择合适的返回格式。

配置

多个writer (包含是同样的类的实例,却拥有不同的配置) 可以在solrconfig.xml 中配置。

    <queryResponseWriter name="foo" default="true" class="my.package.CustomResponseWriter"/>
<queryResponseWriter name="bar" class="my.package.AnotherCustomResponseWriter"/>
<queryResponseWriter name="blat" class="my.package.AnotherCustomResponseWriter">
<int name="some_init_param">5</int>
</queryResponseWriter>

Response Writer Resolution

client能够通过传入參数'wt'来选择相应的返回格式。比如上面所定义的样例,假设我们訪问的是http://localhost:8080/solr的话,我们能够通过下面方式请求。

  http://localhost:8983/solr/select/?wt=foo&q=solr
http://localhost:8983/solr/select/?wt=bar&q=solr
http://localhost:8983/solr/select/?wt=blat&q=solr
http://localhost:8983/solr/select/?q=solr

solr选择ResponseWriter的过程例如以下:

1.依据'wr'參数选择相应的writer

2.寻找在配置文件里“default=true”的writer

3.寻找在配置文件里name属性为“standad”的writer

4.使用匿名的XmlResponseWriter作为writer

solr自带的Handler


眼下solr提供例如以下writer给大家使用,以下给出的solr官方文档中writer的文档,假设大家认为有必要让笔者具体解析每一个writer的使用方法,能够回复一下,笔者将会在接下来的章节中为大家解说每一个writer的具体使用方法。

5.跟我学solr---QueryResponseWriter具体解释的更多相关文章

  1. solr与.net系列课程(一)solr的安装与配置

    不久之前开发了一个项目,需要用到solr,因为所以在开始再网上查找资料,但是发现大部分的资料都是很片面的,要么就是只讲解solr如何安装的,要么就是只讲解solr的某一个部分的,而且很多都是资料都是一 ...

  2. Solr笔记--转载

    Solr 是一种可供企业使用的.基于 Lucene 的搜索服务器,它支持层面搜索.命中醒目显示和多种输出格式.在这篇分两部分的文章中,Lucene Java™ 的提交人 Grant Ingersoll ...

  3. solr的安装与配置

    solr的安装与配置 不久之前开发了一个项目,需要用到solr,因为所以在开始再网上查找资料,但是发现大部分的资料都是很片面的,要么就是只讲解solr如何安装的,要么就是只讲解solr的某一个部分的, ...

  4. solr简易安装配置

    之前弄了段时间的lucene,昨天下午开始学solr,准备用到项目中,在网上找了一些教程,有的不是讲得太复杂,就是讲得不在点上,花了不少冤枉时间.有的一上来就花过半的篇幅大讲特讲“3H”,(what, ...

  5. 跟我学solr---吐槽一下,我的文章被抄袭啦

    今天闲来无事,就在在百度上搜了下面"跟我学solr",看看这几周来自己的努力成果怎么样,不搜还好,搜了就图学了.被原封不动地抄袭了!并且抄袭的文章还在百度排名第一,我自己的却被排到 ...

  6. Solr Date类型的哪些你不得不了解的细节

    我们先来看看Solr日期类型的一些内幕,然后讨论一下Solr日期类型存在的一些问题,最后我们看看怎么解决现存的问题.概述 DateField 在Solr4.x之前,我们只有DateField,这类型现 ...

  7. Importing/Indexing database (MySQL or SQL Server) in Solr using Data Import Handler--转载

    原文地址:https://gist.github.com/maxivak/3e3ee1fca32f3949f052 Install Solr download and install Solr fro ...

  8. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml)(1)

    刚学Solr(版本6.7.0),新建一个core时,提示要求schema.xml文件,我找了半天也没在源码包中找到名为schema.xml的文件.这个版本其实用的是managed-schema文件,没 ...

  9. Solr 6.7学习笔记(03)-- 样例配置文件 solrconfig.xml

    位于:${solr.home}\example\techproducts\solr\techproducts\conf\solrconfig.xml <?xml version="1. ...

  10. Solr 文章集成

    Solr 文章集成 solr原理 solr wiki: http://wiki.apache.org/solr/ 分布式全文检索系统SolrCloud简单介绍 http://my.oschina.ne ...

随机推荐

  1. 使用 ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体

    使用 @ControllerAdvice & ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体 1.Controller代码 以下是Con ...

  2. CCF CSP 201709-2 公共钥匙盒

    CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-2 公共钥匙盒 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须 ...

  3. 自动化CI构建工具

    hudson/maven jenkins,bamboo, hudson

  4. Python数据分析之pandas

    Python中的pandas模块进行数据分析. 接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利 ...

  5. UBB/HTML互相转换简单实现源码一览

    查看源码,主要用的就是正则匹配,多的不说,直接读码. 资源原地址:在线UBB/HTML转换 效果图如下 以下源码: <!DOCTYPE html> <html lang=" ...

  6. 2017-2018-1 20179202《Linux内核原理与分析》第十周作业

    一.设备与模块 1.设备类型 块设备:随机访问设备中的内容,通过块设备结点访问,通常被挂载为文件系统 字符设备:不可寻址,仅提供数据的流式访问,通过字符设备结点访问,应用程序通过直接访问设备节点与字符 ...

  7. 磁盘清理-安全转移C盘中软件的缓存文件

    C盘飘红啦~~~ 安装软件时,默认会安装到C盘,并不会特意去改(尤其C盘是固态硬盘时).或者,根本就没有给你修改的机会. 可是啊,有些软件的缓存数据目录会比较大,实在太占C盘空间.想移出去,但又不想重 ...

  8. sublime text3安装Package Control和Vue Syntax Highlight

    一.下载Sublime3 https://www.sublimetext.com/3 二.安装Package Control 在线安装: https://packagecontrol.io/insta ...

  9. POJ 2778 DNA Sequence(AC自动机+矩阵)

    [题目链接] http://poj.org/problem?id=2778 [题目大意] 给出一些字符串,求不包含这些字符串的长度为n的字符串的数量 [题解] 我们将所有串插入自动机计算match,对 ...

  10. LeetCode:整数反转(Reserve Integer)

    public class ReserveInteger { public int reverse(int x) { //用于接收个位数(10的余数) int remainder; //是否负数 int ...