2012-12-06 2 views
1

Solr SpatialSearch 문서에서는 geodist()과 같은 공간 함수를 일반 쿼리와 결합 할 수 있음을 암시하지만 올바른 구문을 결정할 수는 없습니다. 공간 검색과 일반 쿼리간에 Solr OR 쿼리를 어떻게 결합합니까?

는 특히이 라인 ( in the geodist section)는 내 관심 잡은 :

을 아니면 문서 점수로 거리를 얻을 수있는 주요 쿼리로 (또는의 일부)의 거리 기능을 사용할 수 있습니다

... & Q = {!의 FUNC} geodist() & sfield = 저장 & PT = 45.15, -93.85 & 종류 = 점수 오름차순

해당 페이지의 상점 인벤토리 예를 따르면 내가 원하는 것은 "주어진 도시 내 또는 지정된 도시 거리 내에서 모든 상점을 찾으십시오"입니다. 나는 쉽게 둘 다 성취 할 수 있지만 그들을 결합하는 데 어려움을 겪고있다.

...&q=storecity:Buffalo OR {!func}geodist(store,45.15,-93.8)&d=5 

예상되는 결과는 버팔로에있는 모든 상점, 또는 버팔로의 5km 이내 것 :

여기 잘하면 내가 할 노력하고있어 명확히하는 의사 쿼리입니다. 유스 케이스는 로스 앤젤레스와 같이 매우 큰 도시를 대상으로합니다. 로스 앤젤레스에서 5km 이내의 모든 매장에 대해서는 5km 이내의 매장 만 찾을 수 있으므로 storecity:"Los Angeles"으로 매장을 찾는 경우 손실 된 결과가 포함됩니다.

보너스 포인트

, 나는 또한 시내 상점 그 밖에 위 순위 확인하기 위해 점수를 줄 방법 ​​궁금 해요 -하지만 내가

답변

1

당신은 사용할 수 있습니다 : 알아낼 수 보조 및 가능성이 뭔가 다음 쿼리를 사용하여 예상 결과를 얻습니다.

.. & Q = storecity : 버팔로 또는 _QUERY_ : "{geofilt sfield = 위치 PT = 45.15, -93.8의 D = 5!}"

+0

정말 감사합니다! – STW

+0

당신은 오신 것을 환영합니다! –

+0

안녕하세요, 저는 또한 "주어진 도시 내 모든 매장 찾기"에 관심이 있습니다. Solr과 어떻게해야합니까? Solr에게 도시를 먹이기 위해 역 지오 코딩과 같은 생각이 필요합니까? – sokratis

관련 문제