solr的LocalParams 学习笔记

LocalParams 学习笔记:

主要从概念、基本语法、查询时type参数可以短格式化,参数值和参数反向引用这几个方面谈:

1  概念

LocalParams提供了一种方式,这种方式能够添加元数据到某一参数类型下。对这一个参数类型进行进一步的补充说明。

假定我们现在有一个已经存在的查询参数:

q=solr rocks

我们用LocalParams去前缀化这个查询字符串以提供更多的信息交给查询解析器,例如,改变lucene query parser的默认操作类型是"AND" 和默认字段为“title”

q={!q.op=AND df=title}solr rocks

2 基本语法

为表示一个LocalParam,参数需要被大花括号括住,并且在大括号内部以一个感叹号开始,包含大量的被空格分割的key=value对。

所以假如原始参数是:

foo,

应用LocalParams后将变成这个样子:

{!k1=v1 k2=v2 k3=v3}foo

由于LocalParams每个键值对参数前缀只有一个,无设计转义操作,但以一个“键值对”存在的值需要被单引号或者双引号引住,并且在内部用反斜杠进行转义。

例子:q={!type=dismax qf=‘myfield yourfield‘}solr rocks

3 查询时type参数可以短格式化

假如一个LocalParams 在没有名字情况下出现了,它将被给予一个默认的“type”名称。也就是说对于type类型,允许短格式表示,只给出参数值即可。

因此有:

q={!dismax qf=myfield}solr rocks

等价于:

q={!type=dismax qf=myfield}solr rocks

4 特殊参数v的作用

直接举例说明:

q={!dismax qf=myfield}solr rocks

等价于

q={!type=dismax qf=myfield v=‘solr rocks‘}

5 参数反向引用

直接举例说明:

q={!dismax qf=myfield}solr rocks

等价于

q={!type=dismax qf=myfield v=$qq}&qq=solr rocks

时间: 2024-11-07 03:02:10

solr的LocalParams 学习笔记的相关文章

Solr in action学习笔记 第二章Getting to know Solr

2.1Getting started *Solr实际是使用http通信,所以可以使用任何语言的API *Solr的一个core包含solr配置文件,lucene索引文件和solr的日志文件 在分布式系统的上下文中,成为collection *Solr还提供COre Admin API *query 当query参数设置好,实质上是向solr服务器发送一个http GET请求 搜索参数: 可以自己写到url里,尽量记住常用的搜索参数,对照solrJ的写法 SolrQuery parameters

Solr in action学习笔记 第四章 Solr Config

本章关注solrconfig.xmlSolr为web应用,有一个系统变量solr.solr.home指明Solr目录,启动Solr核后,有一个/server下有一个应用目录,该目录下有一个core.properties,一个conf文件夹和一个data文件夹.core.properties用于配置core,所以solr可以用该文件自动发现core,然后Solr用solrconfig初始化core. 4.1 Overview of solrconfig.xml 4.1.1Common XML da

Solr in action学习笔记 第十三章 SolrCloud

13.1 Getting started with SolrCloud 13.1.1Starting Solr in cloud mode 单机建立一个集群应用,一个端口模拟一个solr cd $SOLR_INSTALL/cp -r example/ shard1/ 13.1.2 Motivation behind the SolrCloud architecture ■ Scalability■ High availability■ Consistency■ Simplicity■ Elast

Solr 6.1学习笔记 -- spellcheck 组件

<searchComponent name="spellcheck" class="solr.SpellCheckComponent"> <str name="queryAnalyzerFieldType">text_general</str> <!-- 下面的spellchecker使用了DirectSolrSpellChecker, 此类会使用主索引中的term进行拼写检查 --> <ls

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

自定义fieldType时,通常还会用到filter.filter必须跟在tokenizer或其它filter之后.如: <fieldType> <analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.LowerCaseFilterFactory" /> </analyzer> </fieldT

Solr 6.1学习笔记(一)-- 配置文件 managed-schema (schema.xml) (2)

接上篇    2. <dynamicField> 为满足前辍或后辍的一些字段提供统一的定义.如<dynamicField name="*_s" index="true" stored="true" type="string" /> 表示所有以“_s”为后辍的field都具有index="true" stored="true" type="string&q

Nutch学习笔记——抓取过程简析

Nutch学习笔记二--抓取过程简析 学习环境: ubuntu 概要: Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. 通过nutch,诞生了hadoop.tika.gora. 先安装SVN和Ant环境.(通过编译源码方式来使用nutch) apt-get install ant apt-get install subversion [email protected]:~/data/nutch$ svn co https:

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu