2017-10-02 4 views
0

私はこのmap-reduceのことでかなり新しいので、これを使って自分のサイトのユーザーをフィルタリングしています。Map-Reduceをグループベースのフィルタリングに使用するには?

質問したいのはどのようにグループベースのフィルタリングを行うことができますか?

シナリオを説明しましょう。 - ユーザーが特定の日付間に尋ねるクエリを除外したいとします。> from:-1/01/2016 To:-03/02/2016。

は、私が使用しています

私は、さらに私は、クエリは、特定の日付の間に作られ得ることができるようCloudantにその上に再びreduce関数を実行したいMRの機能を実行することで、下記のデータを取得していますCloudand、Mongodb、Couchdb、そしてJavaScriptです。

返信し、私のクエリを読む貴重な時間を与えてくれてありがとう。あなたが質問を理解していたら、私は本当にこのすべてに新しいです。

+0

私たちにいくつかのサンプルデータを示し、次の2つの日付の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 }} 
    ] 
} 

私は、この例では、UNIXタイムスタンプを使用しています。

また、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]

繰り返しますが、私はUNIXタイムスタンプを使用しています。あなたは、私が信じる日付の文字列を使うこともできます。

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文書はどのように見えますか?ビューを使用する代わりに上記の2つのオプションのいずれかを使用します。 – markwatsonatx

関連する問題