日期的处理

DateField 表示一个精确到毫秒的时间,值的格式是:
YYYY-MM-DDThh:mm:ssZ

YYYY 表示年.
MM 表示月.
DD 表示日.
hh 表示24小时制的小时.
mm 表示分钟.
ss 表示秒.

值的注意的是上面的那个时间格式里没有时区;带时区的时间格式可以通过格林尼治时间表示。这里是一个示例的值:
1972-05-20T17:33:18Z

另一个带毫秒的例子:
1972-05-20T17:33:18.772Z

另外,DataField也支持日期计算。这个可以方便创建相对于当前时间的时间点。可以用这个表达从现在往后两个月:
+2MONTHS

这个表示一天以前:
-1DAY

使用/可以表示当前的某部分时间,这个表示当前的小时:
/HOUR

当然也能组合表达式,以下表示的是六个月零三天以后的日(一个月的第几天):
+6MONTHS+3DAYS/DAY

Solr 查询参数之 sort

sort 参与用于决定查询结果按升序(asc)或降序(desc)排列。这个参数可以用在数字或字母内容字段。
Solr 可以对查询结果按文档的得分或者被索引的单值字段(该字段在 schema.xml 文件中定义,同时 multiValued=”false” 和 indexed=”true”)的值进行排序。
如果想对一个字段同时进行层面搜索和排序,可以使用 ,来克隆一个字段,然后在这个字段上进行搜索,在克隆字段上进行排序。
以下是例子说明:
无:
没有指定 sort 参数时,搜索结果默认按文档得分(score)的降序(desc)排列
price asc:
按价格字段升序排列
inStock desc,price asc:
按 inStock 字段降序排列,如果字段值相同时,再按 pirce 字段升序排列

Solr 查询参数之 defType

defType 参数用于选择一个查询解析器来处理查询的请求,如:defType=dismax。在 Solr 1.3 版本以后,默认的查询解析器是 dismax。

Solr 查询语法和解析

Solr 支持多种查询解析,给搜索引擎开发人员提供灵活的查询解析。Solr 中主要包含这几个查询解析器:标准查询解析器、DisMax 查询解析器,扩展 DisMax 查询解析器(eDisMax)。

Copyright © All Rights Reserved · Green Hope Theme by Sivan & schiy · Proudly powered by WordPress   闽ICP备18020075号-1