使用搜索索引

时间:2018-03-05 23:04:42

标签: cloudant

鉴于文件:

{
  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"]
  }     
}

1 个答案:

答案 0 :(得分:0)

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

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

Cloudant搜索 - 有关如何编制索引以及如何查询的详细信息here

如果您更喜欢较新的Cloudant查询,则会记录here

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