【问题标题】:How-to index arrays (tags) in CouchDB using couchdb-lucene如何使用 couchdb-lucene 在 CouchDB 中索引数组(标签)
【发布时间】:2010-05-01 15:20:44
【问题描述】:
设置:
我有一个使用 CouchDB 的项目。文档将有一个名为“标签”的字段。这个“tags”字段是一个字符串数组(例如,“tags”:[“tag1”,“tag2”,“etc”])。我正在使用 couchdb-lucene 作为我的搜索提供程序。
问题:
用什么函数可以让couchdb-lucene对“tags”的元素进行索引?
如果你有想法但没有测试环境,打出来,我试试,在这里给出结果。
【问题讨论】:
标签:
arrays
indexing
lucene
tags
couchdb
【解决方案1】:
好吧,在我弄清楚之后,这很容易。请注意 $ 字符对代码没有意义,在这种情况下我的字段只是以 $ 开头。为将来有此问题的任何人发布答案。
function(doc) {
var result = new Document();
for(var i in doc.$tags) {
result.add(doc.$tags[i]);
}
return result;
}
【解决方案2】:
也许语法已经改变,但你可以构造一个视图来搜索文档数组中的任何项目:
function(doc) {
for (var i=0; i<doc.page.length; i++) {
emit(doc.page[i].url, doc._id);
}
}