2011-02-15 4 views
2

나는 루씬 공간 이해하는 몇 가지 문제가 오전루씬 DistanceQueryBuilder

내가 쿼리를 실행하려고 (문서 및 좋은 예 부족으로 부분적으로 부분적으로 어리 석음에 나는 때문에 확인을!) : -

DistanceQueryBuilder builder = new DistanceQueryBuilder(new Double(point[1]), new Double(point[0]), 1000d, 
        "geohash", CartesianTierPlotter.DEFALT_FIELD_PREFIX, true); 


      ConstantScoreQuery queryx = new ConstantScoreQuery(builder.getFilter());    
       org.hibernate.Query fullTextQuery = fullTextSession.createFullTextQuery(queryx,Address.class); 

제공된 협동 조합에서 1000 마일 이내에 결과가있는 것으로 확신하지만 디버깅을 시작하는 방법을 모릅니다.

Luke를 사용하여 색인을 보면 적어도 2 개의 geohashes가 주어진 지역 내에있는 Lat 및 long으로 정확하게 변환되었음을 확인했습니다.

_tier_9의 색인에는 검색을 사용하는 수준이 있습니다.

나는 이것이 내가 누락 된 단순한 것이라고 확신한다. 어떤 도움이 좋을 것이다.

또한 주소 개체가이 메서드에서 발견되어 작동하는지 확인하기 위해 아래 테스트를 수행했습니다.

QueryBuilder qb = fullTextSession.getSearchFactory() 

       .buildQueryBuilder().forEntity(Address.class).get(); 
       org.apache.lucene.search.Query qbx = qb.all().createQuery(); 
       org.hibernate.Query fullTextQueryASD = fullTextSession.createFullTextQuery(qbx,Address.class); 

       List resultASD = fullTextQueryASD.list(); //return a list of managed objects 

건배 롭

답변

0

2.

같이, 1,000보다 작은 거리 값을 이용하여 시도
관련 문제