2013-08-28 3 views
1

나는 문서 자체에 가중치를 부여해야하는 문서에 카테고리를 저장합니다. 식당 - 0.5 (= 50 %), 바 - 0.25, 음악 - 0.25. 불행히도 나는 solr에 익숙하지 않고 속할 수있는 solr의 기능을 실제로 알지 못한다.Solr - 다중 값 필드의 필드 항목을 어떻게 가중 시키는가?

서류는 다음과 같다 :

<str name="id">C1</str> 
    <str name="name">Wine</str> 
    <str name="type">Compass</str> 
    <str name="geo">51.049842,13.740707</str> 
    <double name="radius">5.0</double> 
    <arr name="cat"> 
     <str>Restaurant</str> 
     <str>Restaurant</str> 
     <str>Bar</str> 
     <str>Music</str> 
    </arr> 

은 어떻게 예상 weitght를 조회 할 수 있을까? 유사한 항목을 저장하는 다른 방법이 있습니까?

답변

1

Solr/Lucene의 페이로드 기능을 사용하여이를 수행 할 수 있습니다. Getting Started with Payloads 당신에게 일반적인 아이디어를 줄 것입니다. 페이로드와 문서가 다음과 같이 표시됩니다

<str name="id">C1</str> 
<str name="name">Wine</str> 
<str name="type">Compass</str> 
<str name="geo">51.049842,13.740707</str> 
<double name="radius">5.0</double> 
<arr name="cat"> 
    <str>Restaurant|50</str> 
    <str>Bar|25</str> 
    <str>Music|25</str> 
</arr> 

당신이 문서에 대한 사용자 정의 점수를 가질 수있는 문서를 색인 한 후에는, 그에만 페이로드 또는 루씬의 기본 스팬 점수 조합으로 설정할 수 있습니다.

lucene-solr/tests에서 페이로드 쿼리 사용에 대한 추가 예제를 찾을 수 있습니다.

+0

빠른 답변 주셔서 감사합니다. 이미이 기능을 찾았지만 실제로 사용법을 이해하지 못합니다. 페이로드를 어떻게 수정할 수 있습니까? 업데이트 후 Restaurant-40, Bar-35, Music-25가되어야합니까? 쿼리는 어떻게 생겼습니까? –

+0

가중치를 인덱스 시간에 저장하려는 경우 페이로드보다 먼저 저장해야한다고 말한 것입니다. 다음은 단계별 자습서입니다. http://hnagtech.wordpress.com/2013/04/19/using-payloads-with-solr-4-x/. –

+0

SolrNet을 사용해야하므로 Solr의 Java-API를 사용할 수 없습니다. 그래서 나는 Shows, 페이로드 등을 사용하여 쿼리를 작성하는 방법에 대한 자습서가 필요합니다. –

관련 문제