<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之旅 廣告
                ### 包含,而不是相等 理解 `term` 和 `terms` 是_包含_操作,而不是_相等_操作,這點非常重要。這意味著什么? 假如你有一個 term 過濾器 `{ "term" : { "tags" : "search" } }`,它將匹配下面兩個文檔: ```json { "tags" : ["search"] } { "tags" : ["search", "open_source"] } <1> ``` <1> 雖然這個文檔除了 `search` 還有其他短語,它還是被返回了 回顧一下 `term` 過濾器是怎么工作的:它檢查倒排索引中所有具有短語的文檔,然后組成一個字節集。在我們簡單的示例中,我們有下面的倒排索引: | Token | DocIDs | | ------------ | ------- | |`open_source` | `2` | |`search` | `1`,`2` | 當執行 `term` 過濾器來查詢 `search` 時,它直接在倒排索引中匹配值并找出相關的 ID。如你所見,文檔 1 和文檔 2 都包含 `search`,所以他們都作為結果集返回。 提示: 倒排索引的特性讓完全匹配一個字段變得非常困難。你將如何確定一個文檔_只能_包含你請求的短語?你將在索引中找出這個短語,解出所有相關文檔 ID,然后掃描 _索引中每一行_來確定文檔是否包含其他值。 由此可見,這將變得非常低效和開銷巨大。因此,`term` 和 `terms` 是 _必須包含_ 操作,而不是 _必須相等_。 #### 完全匹配 假如你真的需要完全匹配這種行為,最好是通過添加另一個字段來實現。在這個字段中,你索引原字段包含值的個數。引用上面的兩個文檔,我們現在包含一個字段來記錄標簽的個數: ```json { "tags" : ["search"], "tag_count" : 1 } { "tags" : ["search", "open_source"], "tag_count" : 2 } ``` <!-- SENSE: 080_Structured_Search/20_Exact.json --> 一旦你索引了標簽個數,你可以構造一個 `bool` 過濾器來限制短語個數: ```json GET /my_index/my_type/_search { "query": { "filtered" : { "filter" : { "bool" : { "must" : [ { "term" : { "tags" : "search" } }, <1> { "term" : { "tag_count" : 1 } } <2> ] } } } } } ``` <!-- SENSE: 080_Structured_Search/20_Exact.json --> <1> 找出所有包含 `search` 短語的文檔 <2> 但是確保文檔只有一個標簽 這將匹配只有一個 `search` 標簽的文檔,而不是匹配所有包含了 `search` 標簽的文檔。
                  <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>

                              哎呀哎呀视频在线观看