2016-02-22 119 views
3

我試圖設置Elasticsearch環境與.NET連接可用性。我能夠使用自定義的模糊距離進行基本查詢,但是我無法做的是在查詢時進行字段提升。 我已經嘗試了幾個教程/問題,如Elasticsearch Nest Boost queryElastic Search using NEST Field Boosting,但是NEST不識別「.OnFieldsWithBoost」或「.OnFields」。Elasticsearch巢場增強+模糊

我能夠做一些字段,通過彈性搜索的HTTP API增強:

POST /products/typeproduct/_search 
{ 
    "query" : { 
    "bool": { 
     "should": [ 
     { 
      "match": { 
      "Title": { 
       "query": "sometest", 
       "boost": 10.0 
      } 
      } 
     }, 
     { 
      "match": { 
      "Name": "sometest" 
      } 
     } 
     ] 
    } 
    } 
} 

,但我又無法通過匹配NEST語法此查詢,因爲它不允許多個「匹配」在「應該」中。

我的最終目標是能夠提升某些字段(標題)而不是其他字段(名稱),並在匹配中添加一些模糊性。 任何幫助將不勝感激。

我彈搜索版本:2.2.0 我NEST版本:2.0.2

回答

3

這是一口流利的查詢:

​​

產生以下查詢來elasticsearch:

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "match": { 
      "title": { 
       "boost": 1.1, 
       "query": "sometest" 
      } 
      } 
     }, 
     { 
      "match": { 
      "name": { 
       "query": "sometest", 
       "fuzziness": 1 
      } 
      } 
     } 
     ] 
    } 
    } 
} 

我希望這是你要找的東西:)