当我要求它搜索短语时,为什么我的文本查询会搜索单独的词

问题描述

我正在尝试解释文本搜索查询

db.users.explain('executionStats').find({"$text": {"$search" : "\"a b c d\"",$language: 'none'}}).finish()

显示返回的文档数量非常多。它还表明 parsedTextQuery 既有字词又有词组,而我打算只搜索一个词组。我在这里做错了什么?

{
  "queryPlanner": {
    "plannerVersion": 1,"namespace": "settlin.users","indexFilterSet": false,"parsedQuery": {
      "$text": {
        "$search": "\"a b c d\"","$language": "none","$caseSensitive": false,"$diacriticSensitive": false
      }
    },"winningPlan": {
      "stage": "TEXT","indexPrefix": {},"indexName": "text","parsedTextQuery": {
        "terms": [
          "a","b","c","d"
        ],"negatedTerms": [],"phrases": [
          "a b c d"
        ],"negatedPhrases": []
      },"textIndexVersion": 3,"inputStage": {
        "stage": "TEXT_MATCH","inputStage": {
          "stage": "FETCH","inputStage": {
            "stage": "OR","inputStages": [
              {
                "stage": "IXSCAN","keyPattern": {
                  "_fts": "text","_ftsx": 1
                },"ismultikey": true,"isUnique": false,"issparse": false,"isPartial": false,"indexVersion": 2,"direction": "backward","indexBounds": {}
              },{
                "stage": "IXSCAN","indexBounds": {}
              }
            ]
          }
        }
      }
    },"rejectedplans": []
  },"executionStats": {
    "executionSuccess": true,"nReturned": 0,"executionTimeMillis": 146,"totalKeysexamined": 20086,"totalDocsexamined": 20046,"executionStages": {
      "stage": "TEXT","executionTimeMillisEstimate": 100,"works": 20090,"advanced": 0,"needTime": 20089,"needYield": 0,"saveState": 20,"restoreState": 20,"iSEOF": 1,"docsRejected": 20046,"nReturned": 20046,"executionTimeMillisEstimate": 65,"advanced": 20046,"needTime": 43,"docsexamined": 20046,"alreadyHasObj": 0,"executionTimeMillisEstimate": 32,"dupsTested": 20086,"dupsDropped": 40,"executionTimeMillisEstimate": 0,"works": 1,"needTime": 0,"indexBounds": {},"keysexamined": 0,"seeks": 1,"dupsTested": 0,"dupsDropped": 0
              },"nReturned": 1872,"executionTimeMillisEstimate": 3,"works": 1873,"advanced": 1872,"keysexamined": 1872,"dupsTested": 1872,"nReturned": 8442,"executionTimeMillisEstimate": 8,"works": 8443,"advanced": 8442,"keysexamined": 8442,"dupsTested": 8442,"nReturned": 9772,"executionTimeMillisEstimate": 17,"works": 9773,"advanced": 9772,"keysexamined": 9772,"dupsTested": 9772,"dupsDropped": 0
              }
            ]
          }
        }
      }
    }
  },"serverInfo": {
    "host": "ip-172-31-18-236","port": 27456,"version": "4.4.5","gitVersion": "ff5cb77101b052fa02da43b8538093486cf9b3f7"
  },"ok": 1,"$clusterTime": {
    "clusterTime": {
      "$timestamp": {
        "t": 1618055036,"i": 1
      }
    },"signature": {
      "hash": {
        "$binary": "Ci2LVQ02hJS7zcsWMmXP+TBZKeU=","$type": "00"
      },"keyId": {
        "$numberLong": "6896103437256097794"
      }
    }
  },"operationTime": {
    "$timestamp": {
      "t": 1618055036,"i": 1
    }
  }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)