我使用 azure 搜索来索引人员和职业(专业技能)表。我的问题是,有时人们使用该技能的全名,例如 anjularjs 或 Reactjs,但在搜索时他们正在搜索 Angular 或 React。在这些情况下,搜索不会返回任何马赫值。
我应该如何治疗这种情况? (js后缀只是一个小例子,实际数据表中还有很多出现。)
附:我无法使用建议服务。
最佳答案
也许最好的办法是定义一些同义词(即“anagularjs == Angular”)。我们最近以预览模式发布了此功能:
https://learn.microsoft.com/en-us/azure/search/search-synonyms向您展示如何使用它。
如果您无法创建同义词词典(也许您无法预测用户可能使用哪些术语),那么您可以将匹配定义为不精确,但告诉系统有多少个字符匹配。您可以通过创建一个 [自定义分析器]
来实现这一点,它会生成索引中长度至少为 5 个字符的标记,以便像“react”这样的术语最终出现在索引中。 (参见edgeNGram标记过滤)
要详细了解 Azure 搜索中的查询处理和自定义分析器,请阅读:How full text search works in Azure Search .
关于azure-cognitive-search - azure 搜索查找部分单词 mach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46365117/