2016-10-22 6 views
0

다중 값 필드를 허용하는 스키마가 있는데, 해당 필드에 2 개 이상의 항목이있는 문서 만 반환하는 검색은 어떻게 구성합니까? 데이터의 부분 집합의 예를 들면 다음과 같습니다Solr에서 다중 값 필드에 2 개 이상의 항목이있는 문서를 검색하는 방법은 무엇입니까?

<doc> 
<str name="id">A</str> 
<arr name="multivaluedField"> 
    <str>One</str> 
    <str>Two</str> 
</arr></doc> 

<doc> 
<str name="id">B</str> 
<arr name="multivaluedField"> 
    <str>One</str> 
</arr></doc> 

<doc> 
<str name="id">C</str> 
<arr name="multivaluedField"> 
    <str>Three</str> 
    <str>Four</str> 
</arr></doc> 

검색은 그들이 다른 항목이있는 경우에도 MultivaluedField 2 개 항목에만 있기 때문에 문서 A와 C를 반환합니다.

답변

2

가장 쉬운 (가장 효과적인) 방법은 값의 수를 포함하는 정수 값을 기존 값과 함께 색인화하여 multiValued_count 필드를 사용하는 것입니다. 이 필드는 인덱싱 할 수 있으므로 효율적인 범위 쿼리와 정확한 값 조회를 수행 할 수 있습니다.

인덱싱 코드에서 직접 또는 필요한 경우 업데이트 프로세서에서이 작업을 수행 할 수 있습니다.

+0

나는 왜 내가 전에 그것에 대해 생각하지 않았는지 확실하지 않은이 해결책으로 갈 것이라고 생각한다. 고마워. –