首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否通过键/特定字段限制couchdb-lucene结果?地图?

是否通过键/特定字段限制couchdb-lucene结果?地图?
EN

Stack Overflow用户
提问于 2011-02-25 08:39:44
回答 1查看 1K关注 0票数 3

我有一个非常直接的问题。

我正在使用couchdb-lucene搜索我的文档的全文。

我的文档每个都有以下字段:

_id

_rev

docID (我们系统中文档的唯一ID )

标题(文档的标题)

内容(文档正文)

userID (拥有文档的用户)

我的设计文档看起来像这样:

代码语言:javascript
复制
{
   "_id": "_design/lucene",
   "_rev": "10-770b7044393e067b7024a896ccf3c502",
   "fulltext": {
       "by_all": {
           "index": "function(doc) { var ret=new Document(); ret.add(doc.title); ret.add(doc.content); return ret }"
       },
       "by_title": {
           "index": "function(doc) { var ret=new Document(); ret.add(doc.title); return ret }"
       }
   }
}

我不知道如何将docID作为结果的一部分返回,所以现在我只是将ID设为等于docID,但我想了解如何返回docID,因为上面的设计文档只返回文档的分数和ID。为了访问它,我宁愿不必将ID设置为与docID相同的值。

当我运行一个请求时,比如:

localhost:5984/foo/_fti/_design/lucene/by_all?q=example~0.5f

我得到了标题或内容字段中包含"example“的所有文档的集合,这很好,但是如何才能只在具有特定userID的文档的标题和内容字段中搜索"example”呢?如何传入并使用该值?

我想做这样的事情:

localhost:5984/foo/_fti/_design/lucene/by_all?q=example~0.5f&userId=123

当我这样做时: localhost:5984/foo/_fti/_design/lucene/by_all?q=example~0.5f它返回所有用户的文档,我需要做什么才能将文档限制为属于特定用户的文档?当只有几千个文档与特定用户相关时,我不想搜索数百万个文档中的每一个。

谢谢!

附注:我知道我可以在视图中使用映射:" map ":"function(doc){ emit(doc._id,doc._rev)}“

这是相关的吗?有什么方法可以在couchdb-lucene结果中使用映射吗?我不知道如何指定在map的键上使用哪个值,所以它默认返回ID,如何将键设置为使用特定字段?也许map甚至不是正确的轨道。我不知道在这里做什么,我对CouchDB和Lucene都是新手,还不是很了解它们。

再次感谢!

EN

回答 1

Stack Overflow用户

发布于 2011-08-22 01:37:33

这看起来很简单,但您需要更改索引函数。

代码语言:javascript
复制
function(doc) {
  var ret=new Document();
  ret.add(doc.title);
  ret.add(doc.content});
  ret.add(doc.userID, {"field":"userID"});
  ret.add(doc.docID, {"field":"docID","store":"yes"});
  return ret;
}

使用查询;

代码语言:javascript
复制
localhost:5984/foo/_fti/_design/lucene/by_all?q=example%20AND%20userID:123

这将查找标题或内容中包含“example”的所有文档,只要userID等于123。此外,docID值将在结果中返回。

HTH、B.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5112341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档