2017-10-02 1 views
0

나는이 map-reduce 것을 아주 새롭기 때문에 이것을 사용하여 내 사이트의 사용자를 걸러냅니다.Group-Based Filtering을 위해 Map-Reduce를 사용하는 방법?

내가 물어보고 싶은 것은 어떻게 그룹 기반 필터링을 할 수 있습니까?

시나리오를 설명해 드리겠습니다. - 사용자가 특정 날짜 사이에 물어 보는 검색어를 필터링하려는 경우> from : -1/01/2016 To : -03/02/2016.

나는 내가 사용하고

내가 더 내가 쿼리는 특정 날짜 사이에받을 수 있도록 Cloudant에 그 위에 다시 감소 기능을 실행하려는 MR 기능을 실행하여 아래의 데이터를 얻고있다 Cloudant, Mongodb, Couchdb 및 JavaScript로 구성됩니다.

답장을 보내 주셔서 감사 드리며 시간을내어 읽으십시오. 내가이 모든 것에 정말 새로운 것처럼 쿼리를 이해한다면 문제는 유감스럽게 생각합니다.

+0

우리에게 약간의 샘플 데이터를 표시하고 두 날짜 MongoDB를 사이에 찾기 객체 [이 쿼리 –

+0

가능한 복제를 사용하고자하는 언급 한 기술하는 지정하십시오 ] (https://stackoverflow.com/questions/2943222/find-objects-between-two-dates-mongodb) –

+0

@AndrzejSmyk 지금까지 Cloudant를 사용하고 있습니다. 주된 목적은 사이트 또는 사용자 상호 작용 권한을 구축하려고 시도하고 사람들이 문제와 관련하여 쿼리를 요청한다는 것입니다. 이제 특정 날짜 사이에 얼마나 많이 관련되어 있고 어떤 주제 쿼리가 요청되었는지 알 수 있도록 페이지를 만들고 싶습니다. –

답변

0

쿼리의 날짜가 런타임에 동적으로 제공되는 경우보기가 올바른 접근 방식이 아닐 수 있습니다. Cloudant Query를 사용하여 런타임에 동적 쿼리를 실행할 수 있습니다.

{ 
    "index": { 
    "fields": [ 
     "mydate" 
    ] 
    }, 
    "type": "json" 
} 

을 다음 Cloudant 쿼리에 다음 선택기를 사용 : 예를 들어, 다음과 같이 날짜 필드에 인덱스를 만들 수 있습니다

"selector": { 
    "$and": [ 
     {"mydate" : { "$gt": 1506874127 }}, 
     {"mydate": { "$lt": 1506960651 }} 
    ] 
} 

를 내가이 예에서 유닉스 타임 스탬프를 사용하고 있습니다.

또는 Cloudant Search를 사용할 수 있습니다. 유사 Cloudant의 검색 인덱스를 생성 다음

이에 해당
{ 
    "_id": "_design/allDocs", 
    "views": {}, 
    "language": "javascript", 
    "indexes": { 
    "byMyDate": { 
     "analyzer": "standard", 
     "index": "function (doc) {\n if (doc.mydate) {\n index(\"mydate\", doc.mydate);\n }\n}" 
    } 
    } 
} 

하여 Cloudant 대시 보드를 사용하는 경우 다음

디자인 문서 = allDocs

인덱스 이름 = byMyDate

인덱스를 함수 =

function (doc) { 
    if (doc.mydate) { 
    index("mydate", doc.mydate); 
    } 
} 

그러면 범위를 사용하여 검색을 실행할 수 있습니다. 예를 들어,

https://<YOUR_INSTANCE>.cloudant.com/<YOUR_DB>/_design/allDocs/_search/byMyDate?q=mydate%3A[1506874127%20TO%201506960651]

다음은 검색 쿼리는 다음과 같습니다

mydate:[1506874127 TO 1506960651]

다시 말하지만, 나는 유닉스 타임 스탬프를 사용하고 있습니다. 내가 믿는 날짜 문자열을 사용할 수도 있습니다.

Cloudant 검색어 : https://console.bluemix.net/docs/services/Cloudant/api/cloudant_query.html

Cloudant 검색 : https://console.bluemix.net/docs/services/Cloudant/api/search.html#search

+0

JSON 문서는 어떤 모습입니까? 보기를 사용하는 대신 위의 두 옵션 중 하나를 사용하십시오. – markwatsonatx

관련 문제