【问题标题】:Cloudant search index response without one index field没有一个索引字段的 Cloudant 搜索索引响应
【发布时间】:2017-09-13 07:28:05
【问题描述】:

我有一个 json 文档示例:

{
  "_id": "1000001101012017",
  "_rev": "1-b7de1e91dbcac1ca098be7d99ddea138",
  "ACC_ID": 1005,
  "DT": 201701010000000000,
  "DBO": 0.9,
  "CRO": 0,
  "SALDO": -2.05
}

以及搜索索引功能:

function (doc) {
  index("saldoSearch", doc._id);
  if(doc.DT){
    index("DT", doc.DT, {"store":true})
  }
  if(doc.ACC_ID){
    index("ACC_ID", doc.ACC_ID, {"store":true})
  }
  if(doc.SALDO){
    index("SALDO", doc.SALDO, {"store":true})
  }
}

搜索查询是:

{
  "q": "ACC_ID: 1005 AND DT: [198905260000000000 TO 201702241046285215]",
  "sort": "-DT",
  "limit": 1
}

和回应:

{
  "total_rows": 4,
  "bookmark": "g1AAAABReJzLYWBgYMxgTmGQS87JL01JzCtxKCkugbFTkoz1Mgr1SpKSc4DqmPJYGFYBAZD6DwRZYDE357aU7W4tTgpJDKvUqrKyACwGG7U",
  "rows": [
    {
      "id": "100502012017",
      "order": [
        201702010000000000,
        11150970
      ],
      "fields": {
        "DT": 201702010000000000,
        "ACC_ID": 1005
      }
    }
  ]
}

响应没有“SALDO”字段,但是当 "q":"ACC_ID: 1005 AND DT: [198905260000000000 TO 201702241046285215] AND SALDO: [-identity TO identity]" 响应是“SALDO”的结果,但等待约 10 秒。

我怎样才能得到“SALDO”的响应并保持高性能?

【问题讨论】:

    标签: search indexing lucene cloudant


    【解决方案1】:

    解决问题的一种方法是在查询字符串中添加include_docs=true,即

    {
      "q": "ACC_ID: 1005 AND DT: [198905260000000000 TO 201702241046285215]",
      "sort": "-DT",
      "limit": 1,
      "include_docs": true
    }
    

    然后搜索结果将在结果对象中包含整个文档。

    【讨论】:

    • 非常感谢
    猜你喜欢
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    相关资源
    最近更新 更多