2016-11-18 59 views
2

我使用以下定義爲我的搜索欄上正在使用的英語版的Microsoft文本分析搜索Azure的搜索分析不匹配其他單詞緊張

new Field("Description", DataType.String, AnalyzerName.EnMicrosoft), 

指數,但它似乎並沒有被如我所期望的那樣匹配單詞。當使用像「切片」這樣的詞搜索該字段時,Azure搜索不會返回像「切片」,「切片」這樣的結果。同樣,當搜索「櫻桃」這個複數詞時,單數形式「櫻桃」不會返回,反之亦然。只有通過添加's'纔會返回複數形式,但不管怎樣,「狗」會返回「狗」或「狗」或「小狗」,因爲「狗」只是每個單詞的前綴。

是否有一個特殊參數需要傳入搜索調用以「激活」文本分析器?

回答

2

看來您正在發出前綴搜索查詢。通配符搜索查詢,如search = test *或search = te?t,不會通過Azure搜索中的詞法分析。如果您確實發出通配符查詢,則解決辦法之一是使用常規搜索查詢發出前綴搜索查詢,例如search = sliced *。

Nate

+0

哇謝謝!試圖弄清楚發生了什麼事,我開始瘋了。 – srfigie