당사는 위치 기반 서비스를 제공하고 있습니다. 사용자의 위치에 따라 모바일을 통해 콘텐츠를 정확하게 검색 할 수 있습니다. 이 검색은 다음 식Zend Lucene의 조건
((ACOS(SIN($lat * PI()/180) * SIN(lat * PI()/180) + COS($lat * PI()/180) * COS(lat * PI()/180) * COS(($lon – lon) * PI()/180)) * 180/PI()) * 60 * 1.1515)
제목, 카테고리에 대한 설명 텍스트를 검색하여 검색 거리로 구성된다.
데이터베이스에 수백만 개의 레코드가 있으므로 원하는만큼 빨리 최적화 할 수 없습니다. 우리는 젠드 루씬 (Zend Lucene) 검색을 한 번 해보겠다고 결심했습니다. 이 같은 위도와 랭 색인 후
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('lat', '-0.502123');
$doc->addField(Zend_Search_Lucene_Field::UnIndexed('lng', '1.502123');
$doc->addField(Zend_Search_Lucene_Field::Text('title', 'This is a title');
$doc->addField(Zend_Search_Lucene_Field::Text('desc', 'this is a description');
는 어떻게 위도와 LNG의 색인화되지 않은 Lucene_Field에 거리 공식을 조회 할 수 있습니다? 가능한가? 또는 주변에 어떤 문제가 있습니까?
색인화되지 않은 데이터를 쿼리 할 수 없습니다, KARTHIK
"다음과 같이 lat와 lang을 인덱싱 한 후"색인이 제거되지 않은 값을 설정합니다. 잘 모르겠습니다. 하지만 내 경험으로는 데이터를 검색하려면 색인을 생성해야합니다. – tasmaniski