2014-01-15 3 views
0

SolR 3.5를 사용하고 있습니다.조합/필드 관계가있는 SolR 쿼리

<doc> 
    <arr name="myField"> 
    <str>10_SizeA</str> 
    <str>15_SizeB</str> 
    <str>30_SizeA</str> 
    </arr> 
</doc> 

(필요한 경우 데이터의 구조를 수정할 수 있지만 한 문서 노드 그룹화를 유지할 필요) :

내 datas이 같다.

내가 1 개 제품이 있다는 것을 의미 가격 = 10 크기 = SIZEA, 가격 = 15과 다른 ...

나는 가격에 대한 쿼리 경우 내 문서를 반환 할 수 있도록하려면> = 15 AND a 크기 = sizeA. 그러나 Price> = 30 및 Size = sizeB를 찾으려면 찾으려고하지 마십시오.

그렇게 할 방법이 있습니까?

편집 : 더 나은 이해를 위해 모든 값 사이의 관계를 설명하겠습니다. 내 제품입니다. 다중 값 필드 "myField"의 각 항목에 대한 정보입니다. Price_Size 그래서 각 줄은 "연결"되어 있으며 관련성을 유지해야합니다.

하지만 다른 구조와의 관계를 유지할 수있는 방법이 있다면 먼저 제안하십시오.

감사 독서, Dekx 내 이해 당으로

답변

0

당신은 내 문제의

<field name="prices" type="float" indexed="true" stored="true" multiValued="false"/> 
<dynamicField name="price_*" type="float" indexed="true" stored="true" multiValued="true"/> 
<copyField source="price_*" dest="prices"/> 

<doc> 
    <str name="price_A">10</str> 
    <str name="price_B">15</str> 
    <str name="price_C">30</str> 
    <arr name="prices"> 
     <str>10</str> 
     <str>15</str> 
     <str>30</str> 
    </arr> 
</doc> 
0

, 당신은 제품 (예를 들어, ABC)가 있습니다. 가격과 크기 사이의 관계는 같은

10> SIZEA

15> SizeB

30> SIZEA

대신 제품에 대한 각각의 문서를 유지, 왜 돈 ' 여러 Solr 문서를 저장하지 않으시겠습니까? 제품 ID 등을 알려 드리겠습니다. Solr에 하나의 문서를 갖는 대신 3 개의 문서를 보유하십시오.

제품 ID : 1 PRODUCTNAME : ABC 크기 : SIZEA 가격 : 10

제품 ID : 2 PRODUCTNAME : ABC 크기 : Sizeb 가격 : 15

제품 ID : 3 PRODUCTNAME : ABC 크기 : SIZEA 가격 : 30

지금 조회 "> = 15과 크기 = 가격 SIZEA는"일치하는 문서를 반환합니다.

+0

와 동적 필드를 가질 수있다. 나는 여러 문서를 가질 수 없다. :( – Dekx