2017-03-22 2 views
0

이것은 공간 검색의 반대 개념으로 후보자가 어느 거리에서 작업 할 수 있는지를 결정합니다.각 문서에서 solr 거리와 마일 필드 미만

나는 c1이 자신의 위치에서 20 마일을 일할 수 있고 c2가 자신의 위치에서 10 마일을 일할 수 있다고 말합니다. 내 검색 위치가 두 후보자 모두 10 마일 인 경우 결과에 거리가있는 후보자가 나열되고 거리별로 정렬됩니다.

제 아이디어는 검색 지점에서 후보 지점까지의 거리를 구해서 거리가 후보자별로 구성된 마일을 충족시키는 지 확인하는 것입니다.

q = {! func} geodist() 및 sort = score asc를 사용 했으므로 문서에서 구성된 마일을 기준으로 필터링해야합니다. 점수 < = 마일을 필터로 적용해야합니다.

여러분이 해결하도록 도와 주시겠습니까? 그것은 나를 위해 큰 도움이 될 것입니다. 감사합니다.

답변

0

후보는 점으로 표시하지 말고 원으로 표시해야합니다 (중심은 위치, 반경은 기꺼이 이동할 거리입니다).

그런 다음 임의의 원과 교차하는 포인트로 fq를 만듭니다. 이 질문에서 세부 사항을 찾으십시오 : Solr spatial search using an indexed field for radius?

+0

하지만 수학적으로 가장 간단한 해결책은 두 점 사이의 거리를 찾고 거리가 구성된 후보의 거리 라이트보다 작은 지 확인하는 것입니다. 이 솔루션의 성능이 낮습니까, 나는 solr에 대해 알기 원했기 때문에 새로운 것입니까? –

+0

투표 할 충분한 평판이 없습니다.이 의견을 투표로 받아 들여주십시오. 저를 도와 주셔서 고맙습니다.) –

+0

검색 위치 근처에있는 사람을 어떻게 분류 할 수 있습니까? 가장 가까운 위치를 기반으로 관련성을 얻을 수 있습니다. –