您好我尝试从Cloudant查询并按名称对结果进行排序,因此我创建了此文本索引(我使用了文本索引而不是JSON索引,因为如果我没有弄错,这样我就可以获得“书签”值返回对象)。
{
"type": "text",
"def": {
"default_analyzer": "keyword",
"default_field": {},
"selector": {},
"fields": [
{
"Name": "string"
}
],
"index_array_lengths": true
}
}
这是我的查询
{
"selector": {
"Type": "people"
},
"fields": [
"_id",
"_rev",
"Name"
],
"sort": [
{"Name:string": "asc"}
],
"limit": 3
}
但我不断收到此错误消息“此选择器没有可用的索引”。哪个部分我错了?
答案 0 :(得分:0)
您可以使用搜索索引(JSON)并将书签作为响应以进行分页。 查询 - >新的搜索索引
按名称搜索:
function(doc){
index('default', doc.name, {'facet' : true});
}
在搜索调用中,您必须通过限制,书签(在第二次调用中),排序。
示例:
cloudant_host_url/_design/queries/_search/NAME_OF_THE_INDEX_SEARCH?q=WORD_YOU_ARE_SEARCHING&limit=5&sort=NAME&bookmark=BOOKMARK_GOT_IN_THE_PREVIOUS_CALL
您可以搜索其他索引,例如id:
function(doc){
index('id', doc._id, {'facet' : true});
}
按ID获取的网址:
cloudant_host_url/_design/queries/_search/NAME_OF_THE_INDEX_SEARCH?q=*:* AND id:(ID_YOU_ARE_SEARCHING)&limit=5
您可以将两者结合起来:
cloudant_host_url/_design/queries/_search/NAME_OF_THE_INDEX_SEARCH?q=WORD_YOU_ARE_SEARCHING AND id:(ID_YOU_ARE_SEARCHING)&limit=5