2017-04-13 3 views
0

나는 노드 당 2 개 파편 SolrCloud 5 노드 클러스터,Solr Morelike 여러 샤드에서 작동하지 않습니까? '나는 MLT를 쿼리 실행할 경우에만 노드와 아무튼별로 결과를 반환 지금 6.3.0</p> <p><a href="https://i.stack.imgur.com/ORZIu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ORZIu.png" alt="enter image description here"></a></p> <p>:

SOLR 버전이 t는

http://10.0.1.15:8983/solr/test_ingest/mlt?q=advertising_id%w72w9424620427042&fl=score&fl=advertising_id&mlt.fl=channel_name&mlt.fl=show_name&mlt.fl=language&mlt.mindf=1

,536,913,632 동안 어떤 결과를 제공하지 않습니다 즉, 모든 파편/노드를 통해 배포 , 8983/SOLR/test_ingest_shard8_replica1 :

파편 = 10.0.1.84 : 8983/SOLR/test_ingest_shard3_replica1,10.0.1.84 10

http://10.0.1.119:8983/solr/test_ingest/mlt?q=advertising_id%w72w9424620427042&fl=score&fl=advertising_id&mlt.fl=channel_name&mlt.fl=show_name&mlt.fl=language&mlt.mindf=1

가 나도이 PARAM로 지정하려고 한 결과를 얻을 10.0.1.206:8983/solr/test_ingest_shard2_replica1,10.0.1.206:8983/solr/test_ingest_shard7_replica1,10.0.1.15:8983/solr/test_ingest_shard5_replica1,10.0.1.15:8983/solr/test_ingest_shard10_replica1,10.0.1.207:8983/solr/test_ingest_shard1_replica1, 10.0.1.207:8983/solr/test_ingest_shard6_replica1,10.0.1.119:8983/solr/test_ingest_shard9_replica1,10.0.1.119:8983/solr/test_ingest_shard4_rep lica1

내 요청 처리기 :

<requestHandler name="/mlt" class="solr.MoreLikeThisHandler"> 
</requestHandler> 

어떻게 분산 검색을 실행하기 위해 내가 MLT 구성해야합니까? 감사합니다.

답변

1

The More Like Handler는 내가 아는 한 단일 샤드이므로, 로컬 샤드에서만 사용할 수있는 문서를 고려할 것입니다.

그러나 More Like This Query Parser은 Solr 클라우드를 인식하므로 대신 사용하십시오.

MLTQParser를 사용하면 주어진 문서와 유사한 문서를 검색 할 수 있습니다. Lucene의 기존 MoreLikeThis 로직을 사용하며 SolrCloud 모드에서도 작동합니다. 여기에 사용 된 문서 식별자는 고유 ID 값이며 Lucene 내부 문서 ID가 아닙니다. 반환 된 문서 목록에는 쿼리 된 문서가 제외됩니다.

id = 1 인 문서와 유사한 문서를 찾고 유사성을 위해 이름 필드를 사용하십시오.

{!mlt qf=name}1

mintf 및 mindf를 사용하는 것과 유사한 자격을 무엇에 더 많은 제약을 추가.

{!mlt qf=name mintf=2 mindf=3}1

+0

안녕하세요, 감사는 하나의 ID에 대한 쿼리 시간은 약 15 ~ 30 밀리, 내가 가장 좋은 방법은 어떤 것, 약 1-4 달러 ID에 대한 MLT하는 데 필요한 있지만, 일 Java에서 그렇게하려면 CloudPolrClient를 ThreadPool에 사용했습니다. –

+0

각 조회마다 30 밀리 초를 소비하고 4 백만 건의 문서를 보유하고 있다면 37 시간 이내에 완료됩니다. 이미 가지고있는 것과 이틀 안에 완전히 할 수 있습니다.더 많은 용량이 필요하다면 더 많은 복제본에 걸쳐 쿼리를 분산시켜야합니다. 적어도 병렬로 더 많은 쿼리를 허용해야합니다 (쿼리 시간은 줄어들지 않지만 상당한 속도 저하없이 더 많은 쿼리를 병렬로 실행할 수 있어야합니다) . – MatsLindh