2017-04-24 4 views
0

luceneの検索条件を作成するために 'search()'を使用しています。私はここに含まれている使用しています:カサンドラのStratio Lucene: '検索'を返します。[[''

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を()のリストを返します。 。

しかし、私は()の検索(ビルド)その後、以下は私が手クエリです:

{ 
    "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}] 
} 

ここでの問題は、 '[[' と ']]' です。これにより、行が返されることはありません。 私はこれらを1つの角括弧で置き換えています。

しかし、これを解決する方法は何ですか。

答えて

0

私はjava8を使用して、それを解決:

getListOfTypes().stream().toArray() 
関連する問題