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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Context Suggester 原文鏈接 : [https://www.elastic.co/guide/en/elasticsearch/reference/5.0/suggester-context.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.0/suggester-context.html) 譯文鏈接 : [http://www.apache.wiki/display/Elasticsearch/Context+Suggester](http://www.apache.wiki/display/Elasticsearch/Context+Suggester) 貢獻者 : @Josh 完成 **suggester** 考慮索引中的所有文檔,但通常希望提供通過某些標準過濾和/或提升的 **suggestion** 。 例如,您想要 **suggestion** 由某些藝術家過濾的歌曲標題,或者要根據其流派提高歌曲標題。 要實現 **suggestion** 過濾和/或提升,您可以在配置完成字段時添加上下文映射。 您可以為完成字段定義多個上下文映射。 每個上下文映射都有唯一的名稱和類型。 有兩種類型: **category** ?和 **geo** 。 上下文映射在字段映射中的 **contexts** 參數下配置。 以下定義了類型,每個類型都有一個完成字段的兩個上下文映射: ``` PUT place { "mappings": { "shops" : { "properties" : { "suggest" : { "type" : "completion", "contexts": [ { "name": "place_type", "type": "category", "path": "cat" }, { "name": "location", "type": "geo", "precision": 4 } ] } } } } } PUT place_path_category { "mappings": { "shops" : { "properties" : { "suggest" : { "type" : "completion", "contexts": [ { "name": "place_type", "type": "category", "path": "cat" }, { "name": "location", "type": "geo", "precision": 4, "path": "loc" } ] }, "loc": { "type": "geo_point" } } } } } ``` ①?定義名為 **place_type** 的 **category** 上下文,其中類別必須與 **suggestions** 一起發送。 ②?定義 **geo context** 名為 **location,類別必須與 suggestions**?一起發送。 ③?定義名為 **place_type** 的 **category** 上下文,其中從cat字段讀取類別。 ④?定義 **geo context**?名為 **location** ,其中從 **loc** 字段讀到 **categories**?。 添加上下文映射會增加完成字段的索引大小。 完成索引是完全堆駐留,您可以使用 [Indices Stats](http://www.apache.wiki/pages/viewpage.action?pageId=4260468) 監視完成字段索引大小。 ## 類別上下文(**Category Context**) **category context**??允許您在索引時間將一個或多個類別與 **suggestions** 相關聯。 在查詢時,可以根據相關類別對 **suggestions** 進行過濾和提升。 映射設置為上面的 **place_type** 字段。 如果定義了路徑,則從文檔中的該路徑讀取類別,否則它們必須在 **suggest**?字段中發送,如下所示: ``` PUT place/shops/1 { "suggest": { "input": ["timmy's", "starbucks", "dunkin donuts"], "contexts": { "place_type": ["cafe", "food"] ① } } } ``` ①?這些 **suggestions** 將與 cafe 和 food 類別相關聯。 如果映射具有 **path** ,則以下索引請求將足以添加 **categories** : ``` PUT place_path_category/shops/1 { "suggest": ["timmy's", "starbucks", "dunkin donuts"], "cat": ["cafe", "food"] ① } ``` ①?這些 **suggestions** 將與 cafe 和 food 類別相關聯。 如果上下文映射引用另一個字段,并且類別已明確編入索引,則 **suggestions** 將使用這兩個類別進行索引。 ## 類別查詢 **suggestions** 可以按一個或多個類別進行過濾。 以下過濾了多個類別的 **suggestions**?: ``` POST place/_suggest?pretty { "suggest" : { "prefix" : "tim", "completion" : { "field" : "suggest", "size": 10, "contexts": { "place_type": [ "cafe", "restaurants" ] } } } } ``` 當在查詢時未提供類別時,將考慮所有索引文檔。 應避免在類別啟用完成字段上沒有類別的查詢,因為它會降低搜索性能。 對某些類別的 **suggestions** 可以比其他類別更高。 以下內容按類別過濾 **suggestions** ,并增加與某些類別相關聯的 **suggestions** : ``` POST place/_suggest?pretty { "suggest" : { "prefix" : "tim", "completion" : { "field" : "suggest", "size": 10, "contexts": { "place_type": [ ① { "context" : "cafe" }, { "context" : "restaurants", "boost": 2 } ] } } } } ``` ①?與類別咖啡館和餐館相關聯的上下文查詢過濾 **suggestions** ,并且將與餐館相關聯的 **suggestions** 提高2倍 除了接受類別值之外,上下文查詢可以由多個類別上下文子句組成。 類別上下文子句支持以下參數: | **context** | 要過濾/升級的類別的值。 這是強制性的。 | | **boost** | 應該提高 **suggestion** 的分數的因子,通過將增強乘以 **suggestion** 權重來計算分數,默認為1 | | **prefix** | 類別值是否應被視為前綴。 例如,如果設置為true,則可以通過指定類型的類別前綴來過濾類型1,類型2等的類別。 默認為false | ## 地理位置上下文 地理位置上下文允許您將一個或多個地理位置或地理位置隱藏與 **suggestions** 在索引時間關聯。 在查詢時,如果 **suggestions** 在指定地理位置的某個距離內,則可以對 **suggestions** 進行過濾和提升。 在內部,地理點被編碼為具有指定精度的 **geohashes。** ## 地理映射 除了路徑設置,地理上下文映射接受以下設置: | **precision** | 這定義了要建立索引的 geohash 的精度,并且可以指定為距離值(5m,10km等)或原始 **geohash** 精度(1..12)。 默認為原始 **geohash** 精度值6。 | 索引時間精度設置設置可在查詢時使用的最大 **geohash** 精度。 ## 索引地理上下文 地理上下文可以利用 **suggestions** 被顯式地設置或者經由路徑參數從文檔中的地理點字段索引,類似于類別上下文。 將多個地理位置上下文與 **suggestion** 關聯,將對每個地理位置的 **suggestion** 建立索引。 以下對具有兩個地理位置上下文的 **suggestion** 進行索引: ``` PUT place/shops/1 { "suggest": { "input": "timmy's", "contexts": { "location": [ { "lat": 43.6624803, "lon": -79.3863353 }, { "lat": 43.6624718, "lon": -79.3873227 } ] } } } ``` ## 地理位置查詢 **suggestions** 可以根據它們與一個或多個地理點的接近程度而被過濾和提升。 以下過濾 **suggestions** 落在由地理點的編碼 **geohash** 表示的區域內: ``` POST place/_suggest { "suggest" : { "prefix" : "tim", "completion" : { "field" : "suggest", "size": 10, "contexts": { "location": { "lat": 43.662, "lon": -79.380 } } } } } ``` 當指定在查詢時具有較低精度的位置時,將考慮落入該區域內的所有 **suggestions** 。 位于由 **geohash** 表示的區域內的 **suggestions** 也可以比其他 **suggestion** 更高,如下所示: ``` POST place/_suggest?pretty { "suggest" : { "prefix" : "tim", "completion" : { "field" : "suggest", "size": 10, "contexts": { "location": [ ① { "lat": 43.6624803, "lon": -79.3863353, "precision": 2 }, { "context": { "lat": 43.6624803, "lon": -79.3863353 }, "boost": 2 } ] } } } } ``` ①?上下文查詢過濾的 **suggestions** 落在由(43.662,-79.380)的 **geohash** 表示的地理位置(精度為2)下方的 **suggestions** ,并提升落在(43.6624803,-79.3863353)的 **geohash** 表示形式下的默認精度為6的 **suggestions** 乘以因子2。 除了接受上下文值,上下文查詢可以由多個上下文子句組成。 類別上下文子句支持以下參數: | **context** | 要過濾或提升 **suggestion** 的地理點對象或地理哈希字符串。 這是強制性的。 | | **boost** | 應該提高 **suggestion** 的分數的因子,通過將增強乘以 **suggestion** 權重來計算分數,默認為1 | | **precision** | **geohash** 對查詢地理點進行編碼的精度。 這可以指定為距離值(5m,10km等),或作為原始 **geohash** 精度(1..12)。 默認為索引時間精度級別。 | | **neighbours** | 接受精度值數組,在該數組處應考慮相鄰的地理散列。 精度值可以是距離值(5m,10km等)或原始 **geohash** 精度(1..12)。 默認為生成索引時間精度級別的鄰居。 |
                  <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>

                              哎呀哎呀视频在线观看