我在搜索索引
上使用以下搜索字段定义 new Field("Description", DataType.String, AnalyzerName.EnMicrosoft),
使用英文微软文本分析器,但它似乎并不像我期望的那样匹配单词。使用"切片"等词搜索该字段时Azure搜索不会返回" slice"," slices"等结果。类似地,当搜索多个单词时,例如"樱桃"单数形式" cherry"没有返回,反之亦然。只有通过添加'是复数形式返回,但无论如何都会发生," dog"会回来"狗"或者"狗"或者"小狗"因为"狗"只是每个单词的前缀。
是否需要将特殊参数传递给"激活"文本分析器?
答案 0 :(得分:2)
您似乎正在发出前缀搜索查询。通配符搜索查询(如search = test *或search = te?t)不会在Azure搜索中进行词法分析。如果您确实发出了通配符查询,一种解决方法是使用常规搜索查询发出前缀搜索查询,例如search = slices sliced *。
内特