2010-07-23 4 views
3

안녕하세요, 내 문서에 파티 값 및 파티 유형으로 데이터가 있습니다. 단일 문서에는 여러 개의 Party 값과 Party Type이있을 수 있습니다. 예를 들어 첫 번째 문서는 Party 값을 Pramod로, Party 유형은 클라이언트로 사용합니다. 동일한 문서에는 파티 값이 XYZ로, 파티 유형이 공급자로 사용됩니다. 내가 클라이언트 = pramod 어디서 모든 문서를 쿼리 할 수있는 그런 방식으로 스키마를 설계해야합니다. solr 스키마에서 두 개의 필드를 client.name 및 supplier.name으로 정의하면이 작업을 수행 할 수 있지만 파티 유형에 대한 값 집합이 정의되어 있지 않고 향후에 새 값이 추가 될 가능성이 있습니다.다중 값 필드에 대한 solr 스키마

+2

귀하의 질문에 대한 이해는 정말로 어렵습니다. 문제를 해결하고 몇 가지 예를 들려 줄 수 있습니까? –

답변

0

내가 말하길 3 열 문서 ID 파티 값과 파티 유형 테이블이 있습니다. 이 표에는 3 개의 행이 있습니다. 첫 번째 행 문서 ID : 1 파티 값 : Pramod 파티 유형 : 클라이언트. 두 번째 행 : 문서 ID : 1 파티 값 : Raj 파티 유형 : 공급자. 3 행 문서 ID : 2 파티 값 : Pramod 파티 타입 : 공급자. 이제이 테이블에서 SQL을 사용하면 Party Value가 Pramod이고 Party Type이 Client 인 모든 문서를 찾을 수 있습니다.

Solr에서 동일한 작업을 수행 할 수 있도록 solr 스키마를 설계해야합니다. 솔직한 스키마의 Party 필드와 Party 타입 모두 2 개의 필드를 만들고 다중 값을 조회하고 + Pramod + Supplier를 쿼리하려고하면 solr은 첫 번째 문서에서 Pramod가 클라이언트가 아닌 공급자인데도 첫 번째 문서를 반환합니다

+0

문서에 파티가 있고 두 개의 다중 값 필드가 있다고 가정하면 쿼리는 party : [ "pramod"]와 유사해야하고 유형은 [ "client"] –

2

귀하의 스키마는 괜찮지 만 귀하의 질의가 충분히 구체적이지 않다고 생각합니다. 검색어는 특정 입력란을 타겟팅해야합니다. 그래서 쿼리는 다음과 같이 표시됩니다

+PartyValue:Pramod +PartyType:Supplier 

Solr query documentation는 자세한 내용이 있습니다.

2

여기에 질문 할 수있는 두 가지 질문이 있습니다

  1. 각 문서가 하나 PartyValue 한 PartyType 있습니다. 이 경우 Aaron의 제안 (PartyValue에 하나의 필드가 있고 PartyType에 하나의 필드가 있어야 함)을 사용해야합니다.
  2. 각 문서는 PartyValue-Type 쌍의 목록을 가질 수 있습니다. 이 경우에는 단일 필드가 필요할 것이지만 multiValued = true로 설정해야합니다. 귀하의 질의는 될 것 같은

    + combinedField : (프라 모드 공급 업체)

하나의 필드를 가지는 이유는 어떤 유형이 어떤 값입니다 당신이 문서를 찾을 싶어하지 않는다는 것입니다 B 다. 당신은 A/B의 타입/값 쌍을 포함하는 것을 찾고자합니다.

+0

입니다. Pramod가 질문 2를 질문하는 것 같습니다. 실제로 좋은 해결책입니다 . PartyValue는 어떻습니까? 많은 PartyTypes가 쌍을 이룹니 까? solr TemplateTransformer가 처리 할 수 ​​없습니다. – Tommy

+0

결합 된 필드의 이름이 "party"인 경우 "party : pramod"또는 "party : supplier"도 작동합니다. 유일한 문제는 당사자 이름이 ""공급자 "또는" "고객 인 경우입니다. – Oliv

관련 문제