Cloudant에서 timestamp으로 검색하기
7284 단어 Cloudant
클라우드에서 타임스탬프 검색을 하려면 Seach Index를 만들어야 하는데 쉽고 쉽게 소개할 수 있는 방법을 찾지 못해 메모를 위해 썼다.
Docoment 준비
예제 문서 추가
name
, timestamp
두 필드.{ "name": "satoshi", "timestamp": "2020-05-27T14:04:22+09:00" }
검색 인덱스 만드는 법1. 데이터베이스를 만든 후 Design Doctoments > New Search Index 를 선택합니다.
2. Search index 정보 설정
_desing/
xxxx
, Index name
, Seach index function, Analyzer 설정, Save Doctent and Build Index 클릭searchIndexFunction
function (doc) {
index("name", doc.name, { "store": true });
index("timestamp", doc.timestamp, { "store": true });
}
주의점
xxxx
,Index name
이후에 사용하기 때문에 정확한 이름을 설정index("xxxx", doc.xxxx, { "store": true });
에 지정Keyword
3. 다음 조회를 시도한다.
timestamp: [ "2020-05-27T14:04:22+09:00" TO "2020-05-30T14:04:22+09:00"]
지정된 범위의 Doctument를 확보하면 성공합니다.이상 설정
노드js에서timestamp로 검색
npm install @cloudant/cloudant
test.js
const Cloudant = require('@cloudant/cloudant');
const cloudant = Cloudant({
url: "",
plugins: { iamauth: { iamApiKey: "" } }
});
const db = cloudant.db.use("dbName");
const start = '2020-05-27T14:04:22+09:00'
const end = '2020-05-30T14:04:22+09:00'
const payload = {
q: `timestamp: ["${start}" TO "${end}"]`,
limit: 200 // 検索結果で返ってくるのはデフォルトで10件 最大でも200件
}
// Search Indexの作成方法で指定したxxxx, Index nameを1つ目、2つ目の引数で指定
db.search('Index', 'timestampIndex', payload)
.then((result) => {
console.log(JSON.stringify(result, null, 2))
})
.catch((err) => {
console.log(err)
});
UI 와 동일한 결과를 얻었습니다.> node test.js
{
"total_rows": 2,
"bookmark": <省略>,
"rows": [
{
"id": "c61fa495d24d4b9c7fddd59109e75386",
"order": [
1,
0
],
"fields": {
"name": "yoshino",
"timestamp": "2020-05-27T14:04:22+09:00"
}
},
{
"id": "07d7c46dbce4b2820d0094a085ff4f11",
"order": [
1,
0
],
"fields": {
"name": "satoshi",
"timestamp": "2020-05-27T14:04:22+09:00"
}
}
]
}
Reference
이 문제에 관하여(Cloudant에서 timestamp으로 검색하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kino15/items/dc3f95dbd13741987276텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)