11.context_suggester
生活随笔
收集整理的這篇文章主要介紹了
11.context_suggester
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 上下文context suggester
- 2. category index 操作
- 3. category 查找
- 4. geo index
- 5. geo search
1. 上下文context suggester
completion suggester會考慮索引中的所有文檔,但有些情況下我們希望在復合一定的過濾條件的范圍內獲得suggest。例如,您想建議由某些藝術家的歌曲標題,或者您要根據其類型來提升某些歌曲標題的權重。
為了實現過濾或增強suggest,您可以在配置completion字段的mapping時添加上context mappings。可以為completion字段定義多個上context mappings。每個context mappings都有唯一的name和type。有兩種type:category 和 geo。上下文映射在字段映射中的contexts參數下配置。
使用樣例
PUT place {"mappings": {"properties" : {"suggest" : {"type" : "completion","contexts": [{ "name": "place_type", # 定義context的name"type": "category" # 定義context的類型,在index的時候必須提供這個context的內容},{ "name": "location","type": "geo","precision": 4}]}}} } PUT place_path_category {"mappings": {"properties" : {"suggest" : {"type" : "completion","contexts": [{ "name": "place_type","type": "category","path": "cat" # 定義了place_type context的內容從cat field讀取, 在index的時候不用再提供這個context的內容了,只需要提供cat的內容},{ "name": "location","type": "geo","precision": 4,"path": "loc" # 定義了location context對應的內容從loc field讀取}]},"loc": {"type": "geo_point"}}} }2. category index 操作
PUT place/_doc/1 {"suggest": {"input": ["timmy's", "starbucks", "dunkin donuts"],"contexts": {"place_type": ["cafe", "food"] }} }PUT place_path_category/_doc/1 {"suggest": ["timmy's", "starbucks", "dunkin donuts"],"cat": ["cafe", "food"] }3. category 查找
POST place/_search?pretty {"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"place_type": [ "cafe", "restaurants" ]}}}} } POST place/_search?pretty {"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"place_type": [ { "context" : "cafe" },{ "context" : "restaurants", "boost": 2 }]}}}} }4. geo index
geo多了一個屬性交precision 定義了精度
PUT place/_doc/1 {"suggest": {"input": "timmy's","contexts": {"location": [{"lat": 43.6624803,"lon": -79.3863353},{"lat": 43.6624718,"lon": -79.3873227}]}} }5. geo search
POST place/_search {"suggest": {"place_suggestion" : {"prefix" : "tim","completion" : {"field" : "suggest","size": 10,"contexts": {"location": {"lat": 43.662,"lon": -79.380}}}}} } POST place/_search?pretty {"suggest": {"place_suggestion" : {"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}]}}}} }總結
以上是生活随笔為你收集整理的11.context_suggester的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10.completion_sugges
- 下一篇: 12.suggest_type