如何从索引中获取原始文档
How to get the original document from the index
我想索引一组文档中的每个字段,然后在其中一个字段与查询匹配时检索文档。
这里是文件的例子:
{
"_id": "1234567890",
"lname": "last",
"name": "name",
"mpc": {
"id": "000000",
"name": "name"
},
"type": "agent",
…
},
{
"_id": "1234567891",
"lname": "last",
"name": "name",
"mpc": {
"id": "000001",
"name": "name"
},
"type": "agent",
…
}
从此处获取的代码开始:https://github.com/rnewson/couchdb-lucene#example-index-functions,我明白为什么会得到结果,但我没有找到如何检索原始文档,而不是聚合。
{
"_id": "_design/search",
"fulltext": {
"all": {
"index": "function(doc) { var ret = new Document(); function idx(obj) { for (var key in obj) { switch (typeof obj[key]) { case 'object': idx(obj[key]); break; case 'function': break; default: ret.add(obj[key], {\"store\": \"yes\"}); break; } } }; idx(doc); return ret;}"
}
}
}
因此,当我尝试查询 http://localhost:5985/local/database/_design/search/all?q=name
时,我得到了所有数据,但不是原始文档层次结构。
是否有任何内置方法可以得到我想要的东西?
根据此处可用的搜索参数:https://github.com/rnewson/couchdb-lucene#search-parameters
您只需在查询中添加以下参数即可:?include_docs=true
我想索引一组文档中的每个字段,然后在其中一个字段与查询匹配时检索文档。
这里是文件的例子:
{
"_id": "1234567890",
"lname": "last",
"name": "name",
"mpc": {
"id": "000000",
"name": "name"
},
"type": "agent",
…
},
{
"_id": "1234567891",
"lname": "last",
"name": "name",
"mpc": {
"id": "000001",
"name": "name"
},
"type": "agent",
…
}
从此处获取的代码开始:https://github.com/rnewson/couchdb-lucene#example-index-functions,我明白为什么会得到结果,但我没有找到如何检索原始文档,而不是聚合。
{
"_id": "_design/search",
"fulltext": {
"all": {
"index": "function(doc) { var ret = new Document(); function idx(obj) { for (var key in obj) { switch (typeof obj[key]) { case 'object': idx(obj[key]); break; case 'function': break; default: ret.add(obj[key], {\"store\": \"yes\"}); break; } } }; idx(doc); return ret;}"
}
}
}
因此,当我尝试查询 http://localhost:5985/local/database/_design/search/all?q=name
时,我得到了所有数据,但不是原始文档层次结构。
是否有任何内置方法可以得到我想要的东西?
根据此处可用的搜索参数:https://github.com/rnewson/couchdb-lucene#search-parameters
您只需在查询中添加以下参数即可:?include_docs=true