我已按照此处的博客条目启用全文搜索https://developer.ibm.com/dwblog/2015/text-search-apache-couchdb/#.Vly24SCrQbV
我已经正确设置了所有内容,并且还尝试过其他人的docker图像。
如何设置搜索?需要哪些文件。
我创建了一个名为cats的数据库,其中包含一个文档
{
"_id": "6f35d75b476517e2fc0b3eb12c000e72",
"_rev": "1-c9a6b4734c83287499e8bbd6d1339050",
"name": "tibbles"
}
设计/视图
{
"_id": "_design/cat_look",
"_rev": "1-aae457e6edf5e4a3f69357e5a2160fcc",
"views": {
"kitty_name": {
"map": "function (doc) {\n index(\"kittyName\", doc.name, {\"store\": true});\n}"
}
},
"language": "javascript"
}
如果我转到http://localhost:15984/cats/_design/cat_look/_search/kitty_name?q=“*”
我得到了
{“error”:“not_found”,“reason”:“找不到kitty_name。”}
感谢您提供任何帮助,我很失落。
答案 0 :(得分:0)
Lucene搜索索引的设置与Map Reduce视图的完成方式不同。在您的代码中,您似乎已尝试使用Map Reduce视图。对于Lucene,首先需要设置一个索引:
{
"_id": "_design/Cat_look",
"indexes": {
"kitty_name": {
"index": "function(doc){ ... }"
}
}
}
咨询Cloudant关于此主题的文档:https://console.bluemix.net/docs/services/Cloudant/api/search.html#search
答案 1 :(得分:0)
感谢您的帮助,您说得对,我错误地设置了Lucene搜索索引。下面是一个代码,可以让一个简单的例子适合其他人丢失。
如果您有泊坞设置
docker run -d -p 15984:15984 ncheaz/couchdb:search
在本地端口15984上获取couchdb搜索
要搜索的文件
{
"_id": "6f35d75b476517e2fc0b3eb12c000e72",
"_rev": "1-c9a6b4734c83287499e8bbd6d1339050",
"name": "tibbles"
}
搜索索引。 创建一个新文档,而不是新视图。
{
"_id": "_design/cat_look",
"_rev": "2-23f6ab0606a603cbef04653d167585d4",
"views": {},
"language": "javascript",
"indexes": {
"kitty_name": {
"analyzer": "simple",
"index": "function (doc) {if (doc.name) {index(\"name\", doc.name, {\"store\":true}); }}"
}
}
}
搜索猫名称的网址是
http://localhost:15984/cats/_design/cat_look/_search/kitty_name?q=name:tibbl *
请注意,kitty_name是_search的名称,name
是索引名称。
我建议有人努力让这项工作在IBM Cloudant上创建免费试用帐户,因为文档与他们的产品直接相关,并且更容易理解。