2013-03-27 37 views
1

我有一個存儲在日誌表中的名稱和日期結構。他們代表用戶的行爲,當他們這樣做。如何在Apache Solr中有效地表示鍵值結構

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

我需要索引該數據,保持名稱和日期之間的關係。 我已經嘗試過以連接fiedls,使用分離器($):

"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無法在中間處理通配符的查詢範圍。

索引「鍵值」數據有更好的解決方案嗎?

回答

0

爲什麼要用分隔符連接名稱和日期?您可以改爲保留兩個單獨的字段:Solr中的字符串字段name和日期字段date,並執行查詢,如

q=*:*&fq=name:John*&fq=date:[2013-12-01T00:00:00Z TO 2013-12-31T11:59:59Z]