2016-07-18 1 views
0

"이와 비슷한"쿼리를 매우 유사한 문서 (형식화 된 공지 사항에서 작동하도록 정교하게 조정하려고합니다. 대부분의 텍스트가 "템플릿 "그래서 특정 단락 만 수입업자입니다)."이와 비슷한"쿼리의 선택된 용어를 알 수 있습니까?

그래서 "max_query_terms": 20, 선출 된 문항을 사용하여 선택된 문서가 실제로 검색된 문서에서 발견되지만 전체 집합은 표시되지 않음을 알고 싶습니다. 20 개의 토큰 중 하나입니다.

나는 용어의 집합이 인덱스에 대한 참조 문서를 비교 사전, ... ... 내가 20 개 이상의 토큰이 안타를 설명 탐색

을 고유의 "일치"쿼리를 작성하지만,하기를 선택 이해

예를 들어 ngrams를 사용하는 경우 max_query_terms는 분석 된 텍스트의 토큰에 적용됩니까? 또는 분석 전 용어, 즉이 필터에 내 필터 (정지 단어, elisions, ngrams 등)를 적용한 후 20 단어를 사용합니까?

나머지 또는 API를 통해 mlt 알고리즘에 의해 생성 된 일치 쿼리를 검색하는 방법이 있습니까?

답변

2

explain과 조합하여 validate을 사용해야 만 탄성으로 어떤 용어가 선택되었는지 알 수 있습니다.

GET /imdb/movies/_validate/query?explain=true 
{ 
    "query": { 
    "more_like_this": { 
     "like": { 
     "_id": "88247" 
     } 
    } 
    } 
} 

응답 :

{ 
    ... 
    "explanations": [ 
     { 
     "index": "imdb", 
     "valid": true, 
     "explanation": "filtered((((title:terminator^3.71334 plot:kyle^1.0604408 plot:cyborg^1.0863208 ...)~2)) -ConstantScore(_uid:movies#88247))->cache(_type:movies)" 
     } 
    ] 
} 

자세한 내용은이 discussionpull request를 참조하십시오.

+1

이러한 링크는 정말 도움이되었습니다. 감사! 설명 매개 변수 대신 재 작성 매개 변수를 사용하여 설명에 키워드를 사용해야한다는 것을 알았습니다. – Qaz

+0

@Qaz가 맞습니다. 일부 MLT 쿼리의 경우 rewrite = true를 확인해야하며 작은 인덱스를 테스트하는 경우에도 모든 샤드에 쿼리를 보내야 할 수도 있습니다. – Simon

관련 문제