如何使用couchdb-lucene索引CouchDB中的数组(标记)

时间:2010-05-01 15:20:45

标签: arrays indexing lucene tags couchdb

设置:

我有一个使用CouchDB的项目。这些文件将有一个名为“标签”的字段。该“标签”字段是字符串数组(例如,“标签”:[“tag1”,“tag2”,“etc”])。我使用couchdb-lucene作为我的搜索提供商。

问题:

可以用什么函数让couchdb-lucene索引“标签”的元素?

如果您有想法但没有测试环境,请输入,我会尝试并在此处提供结果。

2 个答案:

答案 0 :(得分:6)

在我弄明白之后,这很容易。请注意$字符对代码没有意义,在这种情况下我的字段只是以$开头。这个问题将来会给任何人发布答案。

function(doc) {
  var result = new Document();
  for(var i in doc.$tags) {
    result.add(doc.$tags[i]);
  }
  return result;
}

答案 1 :(得分:0)

也许语法已经改变,但你可以构建一个视图来搜索文档数组中的任何项目:

function(doc) {
  for (var i=0; i<doc.page.length; i++) {
    emit(doc.page[i].url, doc._id);
    }
}