2009-08-13 17 views
2

내가 CouchDB를 새로운 그리고 난 내 사고 방식은 여전히 ​​아마 관계형 DB의 분야에서 너무 많이 알고 있지만, 여기 간다와 쿼리 :CouchDB를 - PARAMS

는 소파에 질의하는 것은 모든 조회를 통해 수행 않은 것 같습니다. 임시보기가 매우 비효율적이어서 프로덕션 환경에서는 피해야합니다.

그래서 내 질문은 실제로 뷰를 허용하지 않으므로 매개 변수를 사용하여 효과적으로 쿼리하는 방법입니다. 예를 들어 내가 블로그 사이트를 강화하기 위해 소파를 사용한다면 각 게시물에 대해 'id = 1 인 게시물에서 게시물 선택'과 같은 새로운보기를 만들어야합니다.

결과에 대한 전체 텍스트 검색을 쿼리하는 측면에서 lucene을 사용할 수 있다는 것을 알고 있지만 숫자가 아닌 텍스트 콘텐츠에만 유용합니다.

비행 중에 매우 간단하게 만들 수 있기 때문에 정적보기의 보트로드를 만드는 것이 행복합니다. 내 걱정은 이것이 소파가 사용되기로되어있는 것이 아니라 뭔가를 놓치고 있다는 것입니다. 나를 계몽 해주십시오.

Cheers, Chris.

답변

3

조회수는 사용자가 찾고있는 키 매개 변수를 받아들입니다. 당신이 얻을 수있는 행의 수를 제한 할 수 있습니다.

조회수는 임의의 JSON 키로 색인화 할 수 있습니다. 즉, [username docid] => doc와 같은 문서를 내보내는보기를 만들 수 있음을 의미합니다. 그런 다음 http://url/to/view?key=[username docid]으로이보기를 쿼리 할 수 ​​있습니다.

[username type date] => doc 형식의보기를 만들 수 있습니다. 이제 startKey 및 endKey url 매개 변수를 사용하여 특정 날짜 사이에 특정 문서를 모두 가져올 수 있습니다.

블로그의 예는 CouchDB가 특히 적합한 블로그입니다. 사실 나는 O'reilly의 다가오는 CouchDB 책의 한 예라고 믿습니다.

즉, 일부 종류의 쿼리는 CouchDB만으로는 쉽게 처리되지 않습니다. couchdb-lucene이 여기에 도움이 될 수 있습니다. 전체 텍스트 검색에만 적합하다고 가정하지 마십시오. 난 좋은 효과를 데이터베이스에 대해 일반적인 복잡한 쿼리를 실행하는 데 사용하고 있습니다.