<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 單一查詢字符串(Single Query String) bool查詢是多字段查詢的中流砥柱。在很多場合下它都能很好地工作,特別是當你能夠將不同的查詢字符串映射到不同的字段時。 問題在于,現在的用戶期望能夠在一個地方輸入所有的搜索詞條,然后應用能夠知道如何為他們得到正確的結果。所以當我們把含有多個字段的搜索表單稱為高級搜索(Advanced Search)時,是有一些諷刺意味的。高級搜索雖然對用戶而言會顯得更"高級",但是實際上它的實現方式更簡單。 對于多詞,多字段查詢并沒有一種萬能(one-size-fits-all)的方法。要得到最佳的結果,你需要了解你的數據以及如何使用恰當的工具。 #### 了解你的數據 當用戶的唯一輸入就是一個查詢字符串時,你會經常碰到以下三種情況: ##### 1.最佳字段(Best fields):: 當搜索代表某些概念的單詞時,例如"brown fox",幾個單詞合在一起表達出來的意思比單獨的單詞更多。類似title和body的字段,盡管它們是相關聯的,但是也是互相競爭著的。文檔在相同的字段中應該有盡可能多的單詞(譯注:搜索的目標單詞),文檔的分數應該來自擁有最佳匹配的字段。 ##### 2.多數字段(Most fields):: 一個用來調優相關度的常用技術是將相同的數據索引到多個字段中,每個字段擁有自己的分析鏈(Analysis Chain)。 主要字段會含有單詞的詞干部分,同義詞和消除了變音符號的單詞。它用來盡可能多地匹配文檔。 相同的文本可以被索引到其它的字段中來提供更加精確的匹配。一個字段或許會包含未被提取成詞干的單詞,另一個字段是包含了變音符號的單詞,第三個字段則使用shingle來提供關于[單詞鄰近度(Word Proximity)](http://blog.csdn.net/dm_vincent/article/details/41800351)的信息。 以上這些額外的字段扮演者signal的角色,用來增加每個匹配的文檔的相關度分值。越多的字段被匹配則意味著文檔的相關度越高。 ##### 3.跨字段(Cross fields):: 對于一些實體,標識信息會在多個字段中出現,每個字段中只含有一部分信息: * Person: `first_name` 和 `last_name` * Book: `title`, `author`, 和 `description` * Address: `street`, `city`, `country`, 和 `postcode` 此時,我們希望在任意字段中找到盡可能多的單詞。我們需要在多個字段中進行查詢,就好像這些字段是一個字段那樣。 以上這些都是多詞,多字段查詢,但是每種都需要使用不同的策略。我們會在本章剩下的部分解釋每種策略。 <!-- === Single Query String The `bool` query is the mainstay of multiclause queries.((("multifield search", "single query string"))) It works well for many cases, especially when you are able to map different query strings to individual fields. The problem is that, these days, users expect to be able to type all of their search terms into a single field, and expect that the application will figure out how to give them the right results. It is ironic that the multifield search form is known as _Advanced Search_&#x2014;it may appear advanced to the user, but it is much simpler to implement. There is no simple _one-size-fits-all_ approach to multiword, multifield queries. To get the best results, you have to _know your data_ and know how to use the appropriate tools. [[know-your-data]] ==== Know Your Data When your only user input is a single query string, you will encounter three scenarios frequently: Best fields:: When searching for words that represent a concept, such as ``brown fox,'' the words mean more together than they do individually. Fields like the `title` and `body`, while related, can be considered to be in competition with each other. Documents should have as many words as possible in _the same field_, and the score should come from the _best-matching field_. Most fields:: + -- A common technique for fine-tuning relevance is to index the same data into multiple fields, each with its own analysis chain. The main field may contain words in their stemmed form, synonyms, and words stripped of their _diacritics_, or accents. It is used to match as many documents as possible. The same text could then be indexed in other fields to provide more-precise matching. One field may contain the unstemmed version, another the original word with accents, and a third might use _shingles_ to provide information about <<proximity-matching,word proximity>>. These other fields act as _signals_ to increase the relevance score of each matching document. The _more fields that match_, the better. -- Cross fields:: + -- For some entities, the identifying information is spread across multiple fields, each of which contains just a part of the whole: * Person: `first_name` and `last_name` * Book: `title`, `author`, and `description` * Address: `street`, `city`, `country`, and `postcode` In this case, we want to find as many words as possible in _any_ of the listed fields. We need to search across multiple fields as if they were one big field. -- All of these are multiword, multifield queries, but each requires a different strategy. We will examine each strategy in turn in the rest of this chapter. -->
                  <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>

                              哎呀哎呀视频在线观看