solr学习笔记二-------solr query查询的参数

2019-03-27 01:14|来源: 网路

初步接触solr是对其query的各个参数都不是很了解,现在做一个总结,以便日后查看使用

各个参数及意义:

q:query input,要查询的字符串,必须填写 

fq: Filter Query,即过滤查询,表示符合q查询的结果并且符合fq查询的结果,个人理解为是多条件查询

sort:排序,示例(id desc,price asc)表示先按id降序,再按价格升序,默认为降序

start:完成对query查询的结果显示,start表示起始记录数,默认为0

rows:配合start完成对查询结果集的分页。官方中解释为You can consider it as the maximum number of result appear in the page,也就是说rows表示,查询结果每页显示的最多数量,默认为10

fl:field list.指定返回哪些字段,多个用逗号或空格隔开

df:default field,默认查询的字段,一般为默认

wt:write type,指定输出格式,可为JSON,XML等


转自:http://www.cnblogs.com/aimeng-q/p/3740712

相关问答

更多
  • 我不知道为什么这不工作,但这是逻辑上相同的,它的工作: -(myField:superneat AND -myOtherField:somethingElse) 也许这与在查询中定义相同的字段两次有关 尝试在solr-user组中询问,然后在这里发回最后的答案! I don't know why that doesn't work, but this one is logically equivalent and it does work: -(myField:superneat AND -myOther ...
  • 简单。 您可以查看分析仪链以了解发生的情况。 我的猜测是,分析器链将/转换为空格 - 这使得查询成为 duties: health nurse 要从配置中找出您的分析仪链 - 首先检查字段的类型 例如 现在我们寻找类型的定义
    您不能只将响应中的内容复制到配置文件中 - 这两种格式完全不同。 引用的是, defaults部分中的每个条目都被添加到查询字符串中(除非它们已经在那里提供 - 如果要强制某个不能被覆盖的值,也有选项)。 [...] somehost:port1/s ...
  • 这些DB服务器的用途不同,它在很大程度上取决于您的应用程序(以及您存储的数据类型)是否应该仅使用Solr或MySQL。 MySQL可以很好地存储具有大量关系和表格的数据(彼此相关的表格)。 Solr很适合文本搜索(正如你所说:快速索引),如果你没有很多“相关数据”,你确实可以将这些数据存储在相同的文档中。 有些人确实只使用Solr来存储他们的数据库...但我仍然认为RDBM可以很好地用于某些类型的数据。 例如:如果您想允许快速搜索系统用户并存储他们的完整个人资料,以及一些信息详细信息......最好使用So ...
  • q=*:*搜索所有文档中的所有内容,因此您可以获得结果。 q=white将在默认搜索字段中搜索白色,如果您尚未修改schema.xml,则通常是文本。 text 您可以将默认字段更改为要搜索的字段。 或使用特定字段搜索特定字段,例如标题q=title:white 如果要搜索多个字段,可以使用copyfields将字段组合到一个字段中,或使用dismax请求处理程序。 q=*:* searches for all conten ...
  • 首先,我认为Solr通配符比“1或多个”更好地归纳为“0或多个”。 我怀疑这是你问题的根源。 (例如,请参阅WildcardQuery的javadoc 。) 其次,你是否在使用词干,因为我的第一个猜测是你正在处理一个词干问题。 Solr通配符在词干方面可能表现得很奇怪。 这是因为通配符扩展是通过搜索存储在倒排索引中的术语列表来进行的; 这些术语将以词干形式出现(可能类似“gatorad”),而不是来自原始源文本(可能是“gatorade”或“gatorades”)的单词。 例如,假设你有一个词干分析器,把“ ...
  • 您对OR运算符的期望是条件行为 。 Solr中定义的运算符( OR和AND )分别用于执行结果的并集和交集 。 你无法实现条件行为。 Solr布尔运算符 What you are expecting from OR operator is a conditional behavior. The operators (OR and AND) defined in the Solr are for performing union and intersection of the results respecti ...
  • 这样做的一种方式是在fq中使用连接查询,并且它也适用于MLT。 就像是: &fq =(!从=位置连接到=位置)DocumentID:1234 One way of doing this would be using join query in fq and it works for MLT as well. Something like: &fq=(!join from=location to=location)DocumentID:1234
  • 为此不起作用: q={!func}docFreq(texto_completo,bug) 使用所有小写docfreq : q={!func}docfreq(texto_completo,bug) 我刚尝试过: q={!func}mul(tf(name,movie),idf(name,movie)) 在Solr 4.2.1中它工作正常。 我的字段名称是name (文本类型),我要找的术语是movie 。 更新 :至少需要Solr 4.0来使用它们。 请参阅http://wiki.apache.org/s ...
  • 当您以Solr用户身份运行时,必须让solr用户访问您要编写配置的目录。 如果这是/opt/solr ,则可以通过发出chown命令递归地更改目录的所有者和所有包含的文件: chown -R solr.solr /opt/solr 这假设您的系统上还有一个名为solr的组。 如果您没有solr组,请使用另一个合适的组,或将最后一个.solr保留在命令之外。 When you're running as the Solr user, you'll have to give the solr user acc ...