2013-10-09 4 views
2

MongoDB에서 모음집의 특정 필드에서 가장 인기있는 단어를 추출 할 수 있습니까? MongoDb Text Search 문서를 읽었지만 아무 것도 찾지 못했습니다.MongoDB - 모음집에서 가장 인기있는 단어를 찾는다

데이터베이스를 PostgreSQL에서 MongoDB로 마이그레이션하는 중입니다. PostgreSQL에서 전체 기사 색인 (pgsql tsearch)을 사용하여 ts_stat 함수를 사용하여 저장된 기사에서 가장 인기있는 단어를 추출했습니다. MongoDB에서 어떻게 할 수 있습니까?

답변

1

정확하게 필요한지 확실하지 않지만 샘플 코드를 작성하여 도움이되는지 확인하십시오. :)

var keys=db.collection.distinct('Key'); 
Array.max = function(array){ 
    return Math.max.apply(Math, array); 
}; 
for (var i = 0; i < keys.length; i++) { 
    keyTrend[i]= db.collection.find({"Key":keys[i]}).count() 
} 
Array.max(keyTrend) 

나는 코드를 테스트하지 않았지만 효과가 있기를 바랍니다. mongodb는 모두 javascript로 조작되므로 사용자 정의 된 요구 사항에 맞게 javascript를 사용하여 항상 도움을 요청할 수 있습니다.

+0

안녕하세요, 그 예를 들어 주셔서 감사합니다,하지만 그것이 해결책이라면 저는 생각하지 않습니다. 내 컬렉션은 title, content, created_date, category와 같은 필드가있는 "articles"입니다. 제목 및 내용은 문자열 필드입니다. 내용이 매우 깁니다. 검색 쿼리의 속도를 높이기 위해 텍스트 인덱스 ({ "content": 텍스트})가 있습니다. 하지만이 텍스트 인덱스를 사용하여 articles.content에서 가장 인기있는 단어를 추출하는 것이 가능한지 모르겠습니다 ... –

관련 문제