【问题标题】:Enable Full Text Search in Apache CouchDB在 Apache CouchDB 中启用全文搜索
【发布时间】:2017-07-09 21:59:52
【问题描述】:

我已按照此处的博客条目启用全文搜索https://developer.ibm.com/dwblog/2015/text-search-apache-couchdb/#.Vly24SCrQbV

我已经正确设置了一切,并且还尝试过使用其他人的 docker 图像。

如何设置搜索?需要什么文件。

我用一个文档创建了一个名为猫的数据库

{
  "_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","re​​ason":"kitty_name not found."}

感谢您对此的任何帮助,我很迷茫。

【问题讨论】:

    标签: lucene full-text-search couchdb cloudant


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

      感谢您的帮助,您是对的,我错误地设置了 Lucene 搜索索引。这是获取一个简单示例的代码,适用于其他任何人。

      如果你有 docker 设置

      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 上创建一个免费试用帐户,因为文档直接与他们的产品相关,而且更容易理解。

      【讨论】:

      • 很高兴我能提供帮助。随意接受答案:)谢谢。
      猜你喜欢
      • 2011-07-14
      • 2019-06-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多