2014-12-03 111 views
0

我必須失去了一些東西,而運營商犯規出現工作

我的搜索包含字符串長+海灘,所以我想到結果只包含其中(在這種情況下)的位置字段包含長期和海灘的條目。

/indexes/person2/docs?$count=true&$top=100&search=long+beach&searchFields=location 

api-version=2014-07-31-Preview 

我沒有代表張貼圖片顯示等等佛羅里達州邁阿密海灘。

我試過設置& searchMode =任何沒有改變。

列看起來像這樣

new { Name = "location",   
Type = "Edm.String",    
Key = false, 
Searchable = true, 
Filterable = true, 
Sortable = true, 
Facetable = true, 
Retrievable = true, 
Suggestions = true }, 

我不好?

回答

0

這很可能是一個轉義問題。在大多數情況下,「+」在處理URL編碼的代碼中被視爲空格字符。 「+」不應該直接顯示在URL中,而是編碼爲%2B。更一般的,你應該在將搜索字符串添加到search =參數之前轉義搜索字符串。大多數語言都有一個內置的URL編碼原語,可以爲你做到這一點(例如.NET中的Uri.EncodeDataString())。

0

我遇到了同樣的問題。 %2B也適用於我。我想我被Azure Search文檔的這個頁面拋出,它描述了可用於優化搜索的簡單查詢語法。

https://msdn.microsoft.com/en-us/library/azure/dn798920.aspx

看來,簡單的查詢語法,你會放什麼在搜索輸入框,而不是你會發送到API。

下面是我的項目的例子:

  • 搜索=阿伯丁%2Bdistrict(2個結果)
  • 搜索=仔+區(156個結果)