2013-10-16 32 views
1

我最近使用ComplexPhrase查詢插件(https://issues.apache.org/jira/browse/SOLR-1604)對我的Solr 4.2.1進行了修補。當我發出一個查詢,如:Solr 4.2.1和SOLR-1604:ComplexPhrase和日期範圍查詢不能一起工作

my_text_field:"testin* compl*"~1 AND my_date_field:2013-12-12T04:58:53.732Z 

我得到包含文本查詢出具本人和我的my_date_field發行日期結果。

但是當我這樣做:

my_text_field:"testin* compl*"~1 AND my_date_field:[2013-01-01T02:58:53.732Z TO 2013-12-12T04:58:53.732Z] 

我沒有得到任何結果。

如果我刪除複雜詞法分析器的東西回到正常(但我不支持複雜的詞組查詢)。

回答

1

經過一段時間閱讀lucene和solr代碼後,我想出了它。

此修補程序創建一個擴展Lucene QueryParser的Query Parser。 Lucene QueryParser不處理除範圍範圍以外的範圍查詢(一種方式中的簡單字符串)。如果想要專門化QueryParser的行爲,他必須提取字段類型並創建適當的範圍查詢(例如,用於數字的NumericRangeQuery等)。