1

我有一个存储在日志表中的名称和日期结构。它们代表用户操作以及他们何时这样做。

Name        Date
John A.     2013-04-01
Leev B.     2013-04-02
Anse E.     2013-04-03

我需要索引该数据,保持名称和日期之间的关系。我已经尝试使用分隔符($)连接字段:

"John A.$2013-04-01"
"Leev B.$2013-04-02"
"Anse E.$2013-04-03"

它工作得很好,但从现在开始,用户可以按名称的一部分进行搜索,而无需完全输入,并使用日期范围。所以一个普通的搜索将是:

fq = log_user_date:["John*2013-12-01" TO "John*2013-12-31"]

碰巧 Apache Solr 无法处理中间带有通配符的查询范围。

索引“键值”数据有更好的解决方案吗?

4

1 回答 1

0

为什么要用分隔符连接名称和日期?您可以改为保留两个单独的字段:Solr 中的一个字符串字段name和一个日期字段,并执行如下查询date

q=*:*&fq=name:John*&fq=date:[2013-12-01T00:00:00Z TO 2013-12-31T11:59:59Z]
于 2013-03-28T00:56:18.417 回答