2012-04-18 3 views
0

일치 정의 :SOLR 최소 내가 이런 식으로 일치하고 싶은 것을 특징으로하는 경우가

쿼리 : ABCD EFGH IJKL MNOP이 쿼리는 N- 그램 토크 나이을 실시하고 각 단어들로 분할 한 후

2 그램 토큰. 일치하는 동안 쿼리로 분할되어

예),

AB, BC, CD, EF, FG, GH, IJ, JK, KL, 백만, 아니, 영업 이익

지금 내가 원하는 단어의 토큰에 맞게 사용자 정의 할 최소 일치

기본적으로 단어에 해당하는 토큰 중 하나가 mm = 1 인 색인 된 문서와 일치하면 색인 된 문서가 반환됩니다. 그리고 만약 mm = 2를 준다면, 임의의 2 단어 중 하나의 토큰은 반환 될 색인 된 문서와 일치해야합니다.

하지만 원하는 것은 : 'm'토큰이 각각 mm = num의 단어와 일치하는 경우에만 문서를 반환하는 것입니다.

예를 들어, 인덱스 된 문서를 선택하기 위해 최소한 3 단어 이상을 사용하는 것이 좋습니다.

Lucene의 IndexSearcher는이 핵심 부분을 담당합니다. 위의 작업을 수행 할 코드 또는 기타 구성을 변경해야합니까? 이 내용은 가까운 '것들을 반환하는 방법을 내가 그 퍼지 검색을 보장 할 수 있습니다 "당신이 요구하고 있지만 나는 당신의 근본적인 질문을 추측하고있어 정확히하지

답변

1

사전에

감사합니다 ... '원래 쿼리로? "

foo~.8 구문은 the docs을 참조하십시오. 기본적으로 .8은 편집 (Levenstein) 거리를 단어의 길이로 나눈 값입니다.

일치해야하는 쌍을 세는 아이디어에 충실하려면 최소 levenstein 거리가 필요한 것부터 계산할 수 있습니다.

+0

와우 좋은. 언젠가 Levenstein 거리에 대해 들었습니다. 소중한 제안에 감사드립니다. 나는 그것을 조사 할 것이다. – sriram

관련 문제