正则表达式 azure 搜索 lucene 中的字符“@”

character "@" in regex azure search lucene

在 Azure 搜索中使用包含 @ 字符的文本实施搜索时,不会 return 信息。

您在搜索字段中使用哪个分析器?如果您没有指定分析器,它默认为 lucene 标准分析器,它会丢弃标点符号和电子邮件地址 abc@bcd.gov.co 被标记为 、 、 和 。如文档所述,正则表达式搜索查询仅适用于单个标记化术语。正则表达式 /.bcd.gov.co./ 找不到电子邮件地址,因为它不匹配任何标记化术语。您可以使用空格分析器或构建一个不会丢弃标点符号或符号的 custom one 以在整个地址上应用正则表达式匹配。

希望这对您有所帮助。谢谢

内特

这里是示例代码

{ "name": "Username", "type": "Edm.String", "searchable":是的, "filterable":错误, "sortable":错误, "facetable":错误, "analyzer": "email_analyzer"

},

"analyzers": [ { "name": "email_analyzer", "@odata.type": "#Microsoft.Azure.Search.CustomAnalyzer", "tokenizer": "uax_url_email" }

]