我需要FEMMES.COM被标记为基词女性的单数+复数形式。
自定义分析器Config
“分析器”:[{ "@odata.type":"#Microsoft.Azure.Search.CustomAnalyzer","name":"text_language_search_custom_analyzer",“记号器”:@odata.type "tokenFilters":“小写”,"asciifolding“,“"#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer",”:“名称”:"text_language_search_custom_analyzer_ms_tokenizer","maxTokenLength":300,"isSearchTokenizer":false,“语言”:“英语”},"tokenFilters":[],"charFilters":[]}
分析用于女性的API调用
{“分析器”:"text_language_search_custom_analyzer",“文本”:“女性”}
女性API响应分析
{ "@odata.context":“@odata.context”:{“令牌”:“女性”,"startOffset":0,"endOffset":6,“位置”:0 },{“令牌”:“女性”,"startOffset":0,"endOffset":6,“立场”:0}
分析FEMMES.COM的API响应
{ "@odata.context":“@odata.context”:{“令牌”:“女性”,"startOffset":0,"endOffset":6,“位置”:0 },{“令牌”:"com","startOffset":7,"endOffset":10,“立场”:1}
分析FEMMES的API响应
{ "@odata.context":“@odata.context”:{“令牌”:“女性”,"startOffset":0,"endOffset":6,“位置”:0 },{“令牌”:“女性”,"startOffset":0,"endOffset":6,“位置”:0 },{“令牌”:"com","startOffset":7,"endOffset":10,“位置”:1}
发布于 2017-06-14 02:13:13
我先前的回答是不正确的。Azure搜索实现实际上在令牌过滤器之前应用了语言标记器。这在本质上使WordDelimiterToken过滤器在我的用例中毫无用处。
最后我不得不做的是在上传到Azure进行索引之前对数据进行预处理。在我的C#代码中,我添加了一些正则表达式逻辑,在发送到Azure之前,它会像FEMMES2017一样将文本分解成2017年的女性。这样,当文本到达Azure时,索引器将使用语言标记器将女性单独正确地标记为女性和女性。
发布于 2017-04-29 05:24:01
我想经过一些实验我自己想出来了。我发现MappingCharFilter可以用来代替。在索引器完成标记化之前。这使柠檬化/堵塞能够按照所涉条件发挥预期的作用。我需要与其他用例进行更彻底的集成测试,但我认为这将解决任何面临相同类型问题的人的问题。
https://stackoverflow.com/questions/43691489
复制相似问题