2014-05-21 3 views
2

CloudSearch에서 인덱싱 한 문서 목록에 'xyz'라는 선택적 필드가 있다고 가정합니다.CloudSearch의 필드 존재에 대한 쿼리

'xyz'가 포함 된 문서 만 반환하도록 CloudSearch에 쿼리하려면 어떻게해야합니까?

나는 그것이 양의 정수의 것으로, 정면 알고 있다면, 아마 필요한 목록을 얻기 위해 같은 것을 수행 할 수 있습니다 q=xyz:[0,}&q.parser=structured

을하지만 'XYZ'저장 다른 유형의 같은 경우 어떻게해야합니까 문자열 또는 int/문자열 목록 등.?

저는 이전에 Solr을 사용해 봤는데 거기서 이걸 이루기 위해 간단히 q=xyz:*을 할 수있었습니다. CloudSearch는 이러한 정규 표현식을 지원합니까?

+0

관련 : http://stackoverflow.com/questions/26591773/amazon-cloudsearch-filter-if-exists – shj

답변

1

* 연산자를 사용하여 필드에서 비어 있지 않은 값을 쿼리 할 수 ​​있습니다.이 경우 xyz가됩니다. * CloudSearch에 대한 쿼리에 Lucene 파서를 사용하는 경우에만 작동합니다.

+0

쿼리 파서 검색 API의 "queryParser"등의 속성입니다, 예제 코드 : $의 원인이 = $ this- > 클라이언트 -> 검색 (배열 ( \t \t \t '쿼리'=> $ STR, \t \t \t // 'queryParser'=> '간단한 | 구성 | 루씬 | dismax', \t \t \t 'queryParser'=> 'lucene', \t \t \t 'size'=> 100, \t \t \t 'return'=> '_score, _all_fields' \t \t \t)); –