gpt4 book ai didi

php - 如何使用 apache solr 搜索日期

转载 作者:可可西里 更新时间:2023-11-01 12:57:48 25 4
gpt4 key购买 nike

我想像下面这样从 solr 中搜索数据

enter image description here这是我的两个表:

enter image description here

enter image description here

那么我如何使用 solr 进行日期搜索....

编辑

我为此使用 SolrPhpClient。

这是我的 schema.xml 中的字段:

    <fields>
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<field name="event_name" type="text_general" indexed="true" stored="true"/>
<field name="event_category_id" type="string" indexed="true" stored="true"/>
<field name="cat_name" type="text_general" indexed="true" stored="true"/>
<field name="event_sub_category_id" type="string" indexed="true" stored="true"/>
<field name="sub_cat_name" type="text_general" indexed="true" stored="true"/>
<field name="event_location" type="text_general" indexed="true" stored="true"/>
<field name="org_id" type="string" indexed="false" stored="true"/>
<field name="org_name" type="text_general" indexed="true" stored="true"/>
<field name="event_city" type="text_general" indexed="true" stored="true"/>

<field name="multiple_tags" type="text_general" indexed="true" stored="true" multiValued="true" />

<field name="multiple_start_dates" type="date" indexed="true" stored="true" multiValued="true" />

<field name="event_twitter_url" type="text_general" indexed="false" stored="true"/>
<field name="event_fb_url" type="text_general" indexed="false" stored="true"/>
<field name="search_text" type="text_general" indexed="true" stored="false" multiValued="true" />
<copyField source="event_name" dest="search_text" />
<copyField source="cat_name" dest="search_text" />
<copyField source="org_name" dest="search_text" />

<copyField source="multiple_tags" dest="search_text" />

<dynamicField name="*" type="string" multiValued="true" indexed="true" stored="true" />
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="content" type="text_general" indexed="false" stored="true" multiValued="true"/>
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
</fields>

下图是包含所有查询的 solr admin:

enter image description here

因此,当我在 q 中搜索 multiple_start_dates:2013-10-24T00:00:00Z 时,它会返回 invalid date string 错误... ...

最佳答案

从模式来看,您似乎没有从表中索引日期字段,一旦您索引日期字段(如创建和修改的列),您可以进行如下查询:

(created:[NOW-1MONTH TO NOW]) //for current month

(created:[NOW-3MONTH TO NOW-1MONTH]) //created within last three months but not in current month

等等,用其他时间单位和(+/-)运算符做一些实验,你会得到想要的查询。

关于php - 如何使用 apache solr 搜索日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19295924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com