2017-04-24 46 views
0

我正在使用'search()'準備lucene搜索條件。我使用的包含如下:Cassandra的Stratio Lucene:'contains'搜索返回'[[''

Search searchCondition = search().filter(match("customer_id", customerId)) 
    .filter(range("some_timestamp").lower(minTimestamp.toString()).upper(maxTimestamp.toString())) 
    .filter(contains("types", getListOfTypes())) 
    .sort(field("some_timestamp").reverse(false)); 

getListOfTypes()返回一個List。

但是,當我搜索()建(),然後下面是我得到的查詢:

{ 
    "filter":[ 
{"type":"match","field":"customer_id","value":1}, 
{"type":"range","field":"some_timestamp","lower":"2017-03-20 03:23:00.0","upper":"2017-03-30 03:23:00.0"}, 
{"type":"contains","field":"types","values":[["ABC over 90%","PQR","XYZ"]]} 
], 
"sort":[{"type":"simple","field":"some_timestamp","reverse":false}] 
} 

的這裏的問題是 '[' 和 ']'。這不會導致任何行被返回。 我暫時用單個方括號替換它們。

但是,這是什麼解決方案。

回答

0

我解決它通過使用java8:

getListOfTypes().stream().toArray()