Solr 查询参数之 omitHeader

该参数的值为 true 或 false。
为 true 时,返回的搜索结果中将不包含头部信息。头部信息包含request 的信息,如查询耗时。该参数默认值为 false。

Solr 查询参数之 timeAllowed

这个参数值为毫秒数,用于指定一个查询的限定时间,如果超过这个限定时间,已查询到的部分索引将直接返回。

Solr 查询参数之 debugQuery 参数

使用 debugQuery 参数以后,返回的结果中会包含调试信息,包含“explain”信息(explain 中解释了每个文档的得分过程)。这个信息在后续版本中 xml 格式会改变。
默认情况下,不包含 debugging 信息。

Solr 查询参数之 fl (Field List)

fl 参数用于指定搜索结果中需要返回的字段。这些字段需要被索引才能正常返回。这些字段列表可以通过空格或逗号分隔。如果返回列表中包含 score 字段,将返回每个文档的评分。字段列表还支持通配符 “*”,可以返回文档的所有字段。默认情况,fl 默认值为 “*”,也就是会返回所有字段。

Solr 查询参数之 fq (Filter Query)

fq 值是一个查询,用于过滤查询结果,在负责查询时,可以很好的提高查询效率,fq 查询的内容会被缓存着,下次使用相同的过滤查询时,可以从缓存中命中。使用 fq 参数时需要注意以下几点:
  • 在一个查询中,fq 参数可以设置多次。结果中将返回这些过滤条件的交集。例子中将返回 popularity 值大于10 ,并且 section 为 0 的文档

fq=popularity:\[10 TO *\] & fq=section:0

  • 过滤查询可以使用复杂的 boolean 查询,上面的查询可以写成

fq=+popularity:\[10 TO *\] +section:0

  • 过滤查询的结果将被分别缓存
  • 查询参数时放在 url 中传递时需要经过编码,这里有一个 url 编码和解码的小工具:URL编码和解码

Solr 查询参数之 start

用于指定从结果集的第几条开始读取记录,默认的start 是 0,该参数可以用于分页,假设每页10条,想显示第二页内容,就是设置 start 值为 10 即可,显示第三页内容,就是设置 start 值为 20 即可。

lucene 和 Solr 版本对应关系

curl 工具

以后章节中的许多例子会用到 curl 这个工具来通过 URL 发送数据给 Solr 索引库。curl 通过 HTTP、FTP 等其他协议来发送和接收数据。大部分的 Linux 发行版中包含了一个 curl。在网上(curl 的官网可能需要翻墙才能打开)可以用下载到 Linux、Windows 和其他操作系统版本的 curl 工具 ,这里有一个 Windows 版本的 curl

Solr Example 目录

在 Solr 发行包中,有一个 example 目录,这个目录中包含一个 Solr 运行实例,和上传到索引库所用的实例文档。实例文档在 solr_home /example/exampledocs 中找到。

什么是索引

索引是指添加内容到 Solr 的索引库,必要的时候,会修改或删除索引库中的数据,通过将数据加入索引库,我们就可以通过 solr 搜索这些数据。

Solr 索引库可以接受多种类型的数据源,包括 xml 文件,CSV 文件,从数据表中提出出来的数据,类似Word 和 PDF 这些常见的文档。
这里有三个常见往索引库添加数据的方式:
  • 使用构建在 Apache Tika 之上的 Solr Cell,Tika 可以提取二进制文件或者像 Office、Pdf 这样的结构化文件。
  • 通过 HTTP 方式,将 XML 文件上传给 Solr 服务器。
  • 写一个 Java 程序,通过 Solr 的 Java 客户端 API 。在应用程序中,使用 Java API 提交数据可能是最好的方式。

不管通过什么方式来抽取数据,但是往 Solr 索引库送数据有一个基本数据结构:document,一个document包含多个字段,每个字段包含一个名称和数据,数据有可能为空。其中的一个字段通常会被设置成唯一ID字段,尽管这个唯一ID字段在 Solr 中不是必须的。

如果字段名称在 schema.xml 文件中有定义,在分析阶段,字段的内容将会按配置中的说明进行处理,如果字段名称在 schema.xml 没有明确定义,将去动态字段中匹配该字段。

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress