<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 驗證查詢 查詢語句可以變得非常復雜,特別是與不同的分析器和字段映射相結合后,就會有些難度。 `validate` API 可以驗證一條查詢語句是否合法。 ```Javascript GET /gb/tweet/_validate/query { "query": { "tweet" : { "match" : "really powerful" } } } ``` 以上請求的返回值告訴我們這條語句是非法的: ```Javascript { "valid" : false, "_shards" : { "total" : 1, "successful" : 1, "failed" : 0 } } ``` ## 理解錯誤信息 想知道語句非法的具體錯誤信息,需要加上 `explain` 參數: ```Javascript GET /gb/tweet/_validate/query?explain <1> { "query": { "tweet" : { "match" : "really powerful" } } } ``` <1> `explain` 參數可以提供語句錯誤的更多詳情。 很顯然,我們把 query 語句的 `match` 與字段名位置弄反了: ```Javascript { "valid" : false, "_shards" : { ... }, "explanations" : [ { "index" : "gb", "valid" : false, "error" : "org.elasticsearch.index.query.QueryParsingException: [gb] No query registered for [tweet]" } ] } ``` ## 理解查詢語句 如果是合法語句的話,使用 `explain` 參數可以返回一個帶有查詢語句的可閱讀描述, 可以幫助了解查詢語句在ES中是如何執行的: ```Javascript GET /_validate/query?explain { "query": { "match" : { "tweet" : "really powerful" } } } ``` `explanation` 會為每一個索引返回一段描述,因為每個索引會有不同的映射關系和分析器: ```Javascript { "valid" : true, "_shards" : { ... }, "explanations" : [ { "index" : "us", "valid" : true, "explanation" : "tweet:really tweet:powerful" }, { "index" : "gb", "valid" : true, "explanation" : "tweet:really tweet:power" } ] } ``` 從返回的 `explanation` 你會看到 `match` 是如何為查詢字符串 `"really powerful"` 進行查詢的, 首先,它被拆分成兩個獨立的詞分別在 `tweet` 字段中進行查詢。 而且,在索引`us`中這兩個詞為`"really"`和`"powerful"`,在索引`gb`中被拆分成`"really"` 和 `"power"`。 這是因為我們在索引`gb`中使用了`english`分析器。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看