2012-04-02 2 views
1

어디서부터 시작해야할지 모르겠지만 뭔가를 성취하려고합니다.PHP로 RSS 피드의 "비슷한"기사 찾기

현재 기사 목록이있는 MySql 데이터베이스가 있습니다. DB에는 기사 제목, 콘텐츠 및 날짜 등의 기타 정보가 포함되어 있습니다.

새 기사를 모니터링하는 RSS 피드가 있습니다. 특정 주제에 대한 최신 뉴스가 포함 된 Google 알리미 피드입니다. 이 피드를 자동으로 모니터링하고 현재 DB에있는 스토리와 유사한 피드 항목을 기록 할 수 있기를 원합니다.

자동으로 실행되도록 스크립트를 설정하는 방법을 알고 있고 SimplePie로 RSS 피드를 구문 분석하는 방법을 알고 있습니다.

내가 알아야 할 것은 rss 피드 항목에 대한 설명을 취하는 방법과 DB에서 피드 항목이 DB에있는 항목과 유사한 지 확인하고 어떤 종류, 일종의 "유사성 등급"또는 뭔가.

"유사성 등급"이 설정 한도를 초과하면 DB에 기록해야하는 정보가있을 수 있습니다. 그 방법은 알고 있습니다.

그래서 내 유일한 문제는 그것이 얼마나 비슷한에 따라 점수를 현재의 문서를 각 피드 항목을 비교하고 반환하는 방법입니다.

+0

가. 같은 항목에 대해 둘 이상의 광고를 게시하는 것을 금지합니다. 한 번 추가 기능을 다시 게시하려했지만 원래 기능을 삭제하는 것을 잊어 버렸습니다. 그리고 그것은 내 다른 광고와 너무 유사하다고했습니다. 나는 단어를 조금 재 배열하려고 노력했다. 그리고 그것은 아직도 같은 것을 말했다. 따라서 두 번째 광고는 내 원본과 매우 유사하다는 것을 알고 있습니다. 나는 그들이 무엇을 무엇이든 할 필요가 있지만, 오히려 매우 비슷한 이야기를 차단하는 것보다 나는 그 기록합니다. 내가 말하는 것에 대해 분명히 설명하려고합니다. –

답변

1

Levenshtein 함수 (PHP와 MySQL 둘 다에서 사용 가능)는이를 처리하는 좋은 방법입니다. 기본적으로 하나의 문자열을 다른 문자열로 변환하는 데 필요한 순열 (대체, 이동 등)의 수를 기반으로 값을 계산합니다. 그 점수는 당신의 "유사성 등급"이 될 것입니다.

편집 : Levenshtein 기능이 MySQL의에서 기본적으로 사용할 수 없습니다하지만 당신과 같은 사용할 수있는 그것의 SQL 구현이 있습니다 : 내가 자주 사용하는 광고 웹 사이트 거기 역 예를 들어 http://kristiannissen.wordpress.com/2010/07/08/mysql-levenshtein/

+0

감사합니다. 감사합니다. –

+1

http://stackoverflow.com/questions/4671378/levenshtein-mysql-php는이 주제를 간략히 다루고 있으며 유용 할 수도 있습니다. – TheOx

+0

필자가 언급 한 기능이 필자에게 필요한 도움을 줄 수있는 것처럼 보였기 때문에 이것을 받아 들인 대답으로 표시 할 것입니다. –

관련 문제