PHP를 사용하여 짧은(500~1000단어) 텍스트에 언급된 위치를 확인합니다.

StackOverflow https://stackoverflow.com/questions/1665203

문제

사용자가 제공한 텍스트를 가져와 지도의 어떤 주소가 텍스트 내에 언급되어 있는지 확인하는 방법을 찾고 싶습니다.존재하는 경우 무료 웹 서비스를 사용하거나 너무 많은 리소스를 소비하지 않는 스크립트를 사용하면 기쁠 것입니다.

내가 상상할 수 있는 한 가지 방법은 텍스트에서 개별적으로 각각의 주소를 지정하고 검색하는 거대한 데이터베이스를 가져오는 것이지만 이는 효율적이지 않은 것 같습니다.제안할 수 있는 더 나은 알고리즘이나 기술이 있습니까?

나의 기본 아이디어는 위치 정보를 가져와 Google 지도의 마커로 바꾸는 것입니다.위치를 자동으로 결정하는 것이 너무 어렵거나 CPU를 많이 사용하는 경우 필요한 경우 사용자에게 위치 필드에 정보를 추가하도록 요구할 수 있지만 일부 사용자는 꽤 어린 학생이므로 이 작업을 수행하지 않는 것이 좋습니다.

학교에서 호스팅하는 서버에서 사용할 수 있는 스크립팅 언어인 PHP로 이 작업을 수행해야 합니다.

이 전체 설정은 Drupal 노드의 컨텍스트 내에서 이루어지며 필터를 사용하여 개별 노드에서 필요한 위치 정보를 수집할 계획이므로 이 구문 분석은 한 번만 수행됩니다(새 텍스트가 데이터베이스에 입력될 때). .

도움이 되었습니까?

해결책

당신은 다음과 같은 것을 얻을 수 있습니다 오픈 칼레 텍스트에 태그를 지정합니다.반환되는 카테고리 중 하나는 "도시"입니다. 그런 다음 다른 타사 모듈을 사용하여 도시의 위치를 ​​표시할 수 있습니다.

다른 팁

관계형 데이터베이스에 거대한 위치 목록이 있고 약 500 ~ 1000 단어 만 걱정된다면 SQL 명령을 전달하여 500-1000 단어의 일치를 찾을 수 있으며 매우 효율적일 것입니다. .

그러나 느린 API를 호출해야하더라도 500 단어를 하나씩 요청할 수 있습니다. 일치 캐시를 유지하면 캐시가 모든 중지 단어 ( "The", "If", "및"등을 알고있는 다음 캐시를 사용하면 캐시가 빠르게 채워 질 것입니다. 매번 500 단어 미만을 검색 할 것입니다.

무차별 인력 접근 방식이 얼마나 빨리 작동하는지 놀랄 것 같습니다.

향후 참조를 위해 야후 API를 언급하고 싶습니다. 플레이스 메이커 그리고 서비스 Geomaker 그것은 그 위에 지어졌습니다.

이러한 도구는 여기에서 요청 된대로 텍스트에서 위치를 구문 분석하는 데 사용될 수 있습니다. 불행히도 Drupal 모듈은 지금 존재하지 않는 것으로 보이지만 사용자 정의 솔루션은 코딩하기 쉬운 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top