使用搜索索引进行选择器查询

问题描述 投票:0回答:1

鉴于该文件:

{
  docId: "a1234",
  doc_type: "asset",
}

我在_design / assets中有以下搜索索引函数,索引名称为search_asset:

function(doc) {
   if (doc.doc_type !== 'asset') return;
   index('docId', doc.docId, { store: 'true', facet: 'true' });
}

但是,当我尝试使用cloudant选择器查询进行搜索时:

{
  selector: { 
    docId: "a1234"
  },
  fields: ["docId"]      
}

它给了我这个错误:运行查询时出错。原因:(no_usable_index)此选择器没有可用的索引。

我还添加了use_index选项,但这似乎也不起作用:

{
  selector: { 
    docId: "a1234"
  },
  fields: ["docId"],
  opts: {
    use_index: ["_design/assets", "search_assets"]
  }     
}
cloudant
1个回答
0
投票

我认为你正在混合Cloudant Query(又名Mango)和Cloudant Search(Lucene幕后)。

selector语法属于前者,而所描述的index函数看起来像搜索/ Lucene索引。

Cloudant搜索 - 如何索引和如何查询是有充分记录的here

如果您更喜欢较新的Cloudant查询,那就是here

存在一些重叠,Cloudant Query的文本索引在Cloudant Search之上实现,以进一步混淆问题。

© www.soinside.com 2019 - 2024. All rights reserved.