0

我有一个日期字段,我想查询以获取他们的年份与今天不同的所有事件。

所以,我在 schema.xml 中创建了另一个字段:

<field name="myDate" type="date" indexed="true" stored="false" multiValued="true" />
<field name="myDateString" type="text" indexed="true" stored="false" multiValued="true" />

<copyField source="myDate" dest="myDateString"/>

然后我在 SolrConfig.xml 中定义了一个处理程序:

<requestHandler name="/onthisday" class="solr.SearchHandler">
    <lst name="defaults">
      <str name="echoParams">explicit</str>
      <int name="rows">15</int>
      <str name="df">myDateString</str>
      <str name="wt">json</str>
      <str name="indent">true</str>
      <str name="q">*-08-10T*</str>
      <str name="fl">*</str>
    </lst>
  </requestHandler>

使用这个处理程序,我可以找到 10 月 8 日的所有事件:

http://localhost:8080/solr/article/onthisday?q=*-10-07T*

但是,我想在 solrconfig.xml 文件中使用默认的今天值。我已经对此进行了测试(不起作用):

<str name="q">*-/MONTH-/DAYT*</str>

如何使用字符串字段的当前日期设置默认查询值?

4

1 回答 1

0

您正在搜索的搜索关键字是日期数学。您可以在Solr 参考指南中找到几个示例。

您的具体查询可能类似于:

birthdate:[* TO NOW/YEAR-1YEAR]
于 2013-10-10T01:35:02.720 回答