solr相关查询参数

2019-03-27 00:24|来源: 网路

   前一篇介绍了solr的安装,这里记录一下solr查询的时候一些参数的使用.

1.q - 查询字符串,必须的。

2.fl - 指定返回那些字段内容,用逗号或空格分隔多个。(个人理解为field list)就是指定返回那些字段.比如我有一个对象包含的属性有String title,String content,int id;如果fl指定为title,content。则返回的就是包含这两个字段的结果集。

3.start - 返回第一条记录在完整找到结果中的偏移位置,0开始,一般分页用。

4.rows - 指定返回结果最多有多少条记录,配合start来实现分页。

5.sort - 排序,格式:sort=<field name>+<desc|asc>[,<field name>+<desc|asc>]… 。示例:(inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。

6.wt - (writer type)指定输出格式,可以有 xml, json, php, phps, 后面 solr 1.3增加的,要用通知我们,因为默认没有打开。

7.fq - (filter query)过虑查询,作用:在q查询符合结果中同时是fq查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的。查询格式id:[x TO n]



转自:http://3310819.blog.51cto.com/3300819/1285492

相关问答

更多
  • public static Map<String, Integer> queryByGroup(String qStr,String groupField,String sortField,boolean asc,Integer pageSize,Integer pageNum){ Map<String, Integer> rmap = new LinkedHashMap<String, Integer>(); try { SolrServer server = getS ...
  • 我不知道为什么这不工作,但这是逻辑上相同的,它的工作: -(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 ...
  • 您不能只将响应中的内容复制到配置文件中 - 这两种格式完全不同。 引用的是, defaults部分中的每个条目都被添加到查询字符串中(除非它们已经在那里提供 - 如果要强制某个不能被覆盖的值,也有选项)。 [...] somehost:port1/s ...
  • 如果其他人遇到此问题,则与CSV更新端点无关,而是我如何在架构中定义uniqueKey字段。 以下不起作用: 但是当我将类型更改为字符串时它确实有效: 据我所知,这在SOLR维基上的任何 ...
  • 据我所知,目前Solr中没有“查询更新”功能,因此建议的方式仍然是获取和更新。 但是,对这些更新进行批处理(一次选择,一次更新)应按预期工作,从而减少向Solr发出的请求数。 As far as I know, there is no "update by query" functionality in Solr at the current moment, so fetching and updating still is the suggested way. Batching these updates ...
  • 首先,我认为Solr通配符比“1或多个”更好地归纳为“0或多个”。 我怀疑这是你问题的根源。 (例如,请参阅WildcardQuery的javadoc 。) 其次,你是否在使用词干,因为我的第一个猜测是你正在处理一个词干问题。 Solr通配符在词干方面可能表现得很奇怪。 这是因为通配符扩展是通过搜索存储在倒排索引中的术语列表来进行的; 这些术语将以词干形式出现(可能类似“gatorad”),而不是来自原始源文本(可能是“gatorade”或“gatorades”)的单词。 例如,假设你有一个词干分析器,把“ ...
  • 您可以指定要返回的最大结果数。 结果将按分数降序显示,因此您可以停止在结果集中的特定点处理。 solr/search/select?q=LOL&&start=0&rows=10&fl=*%2Cscore 有关设置最低分数的讨论,请参阅以下文章: 是否可以“合理地”设置Solr分数阈值,与返回的结果无关? (即Solr评分是否以任何方式标准化) You can specify a maximum number of results to return. The results will appear in ...
  • 我建议使用ExtendedDismax Query Parser(eDisMax) ,然后您可以指定跨字段的提升,如下例所示: http://localhost:8983/solr/select/?q=tree &defType=edismax&qf=essence^4.0+keywords^2.0+allSearchable^1.0 您可能需要在字段中向上或向下调整增强值以获得所需的结果。 此外,还有eDisMax的其他参数会影响提升以及您应该检查的查询执行方式。 I would recommend ...
  • 如果您只需要确保,所有单词都出现在所有字段中,我建议您在索引时将所有相关字段复制到一个字段中,然后查询此字段。 为此,您需要引入一个新字段,然后对要复制的所有源字段使用copyField 。 要复制所有字段,请使用: 有关详细信息,请参阅http://wiki.apache.org/solr/SchemaXml#Copy_Fields 。 类似的方法是在查询时使用布尔代数。 这与上述解决方案略有不同。 您的查询应该是这样的 (keyw ...
  • 你不能只使用 Job.search do adjust_solr_params do |params| params.except! :fq end end 或类似的东西,以从params散列中删除:fq键 Can't you just use Job.search do adjust_solr_params do |params| params.except! :fq end end Or something similiar in order to remove the :fq ...