2017-12-26 43 views
0

Elasticsearch 앱에서 'Word1'및 'Word2 "~ 3'검색 문자열을 사용하고 있었지만 그 결과를 얻었습니다 나는 기대하지 않았다.Elasticsearch에 대한 부울 검색 퍼지 쿼리 - 예기치 않은 결과 - "Word1"AND "Word2"~ 3

"Word1 blah blah Word1"과 같은 결과가 반환되었습니다. 나는 실제로 "Word1 blah blah Word2"에 대한 결과를 반환하기를 원했지만 "Word1"은 중복되지 않았습니다.

실험에서 'Word1 Word2 ~ 3'이 내가 찾고있는 실제 결과를 나타냅니다.

이 논리를 이해하는 데 도움을 줄 수있는 사람이 있습니까? 그리고 처음 검색이 예상대로 작동하지 않는 이유와 내가하고있는 것에 대한 더 나은 접근 방법이 있다면?

답변

1

첫 번째 쿼리 "Word1" AND "Word2" ~3에서 희미한 점은 Word2에만 적용됩니다. 이 쿼리는 기본적으로 다음과 같이 읽습니다. 편집 거리가 3 인 "Word1"과 "Word2"가 포함 된 모든 문서를 찾습니다. 따라서 Word1 blah blah Word1 인 문서는 "Word1"일치 항목의 첫 번째 항목부터 유효하고 두 번째 항목은 1의 거리를 "Word 2"로 수정

두 번째 쿼리에서 "Word1 Word2" ~3proximity search입니다. 즉, "Word1"과 "Word2"가 서로 멀리 떨어져 있도록 허용하는 구문 쿼리입니다 .

+0

감사합니다. 나는 그것이 그것을 설명한다고 생각한다. 나는 당신이 모순이라고 말한 것처럼 느낍니다. 확인/설명 할 수 있습니까? "퍼지가 Word2에만 적용됩니다."- 나중에 "Word1 blah blah Word1"에 대해 말한 내용 때문에이 경우가 아닌 것 같습니다. "~ 3"은 "Word1"과 "Word2"모두에 적용되는 것으로 보입니다. 그러나 당신은 당신의 설명에 많은 도움을 주었고, 그것은 많은 의미를 가지며 내가보고있는 것을 설명합니다. 많은 감사합니다. 매우 유용하기 때문에 설명을 정리할 수있는 기회가 있으면 사소한 수정을해야한다고 생각했습니다. 감사합니다 – LokMac

+0

아니요, 첫 번째 쿼리에는 'AND'가 있습니다. 이는 fuzziness가'Word2'에만 적용된다는 것을 의미합니다. 두 번째 쿼리에서는 두 단어와 큰 따옴표로 묶습니다. 즉, 문구이므로 문단에 모호함이 적용됩니다. – Val