支持在 azure 搜索中上传同义词字典

Support to upload dictionary of synonyms in azure search

我正在寻找一种在 Azure 搜索中上传同义词词典文本文件的方法,我能找到的最近的方法是

  1. https://azure.microsoft.com/en-in/blog/azure-search-synonyms-public-preview/
  2. https://docs.microsoft.com/en-us/azure/search/search-synonyms

我知道比较不同公司的产品不是一个好主意,但如果有一种方法可以在 azure search 中上传同义词词典,就像在 elastic search 中支持的那样,那么它将有很大的帮助和可能会节省大量时间和返工。

请帮我知道如何实现像在 azure 搜索中上传同义词字典这样的事情

最新.NET SDK for Azure Cognitive Search has this capability. From this sample:

// Create a new SearchIndexClient
Uri endpoint = new Uri(Environment.GetEnvironmentVariable("SEARCH_ENDPOINT"));
AzureKeyCredential credential = new AzureKeyCredential(
    Environment.GetEnvironmentVariable("SEARCH_API_KEY"));
SearchIndexClient indexClient = new SearchIndexClient(endpoint, credential);

// Create a synonym map from a file containing country names and abbreviations
// using the Solr format with entry on a new line using \n, for example:
// United States of America,US,USA\n
string synonymMapName = "countries";
string synonymMapPath = "countries.txt";

SynonymMap synonyms;
using (StreamReader file = File.OpenText(synonymMapPath))
{
    synonyms = new SynonymMap(synonymMapName, file);
}

await indexClient.CreateSynonymMapAsync(synonyms);

Java, Python, and Javascript 的 SDK 也支持创建同义词映射。 Java SDK 接受字符串而不是文件流,因此您必须自己读取文件内容。不幸的是,Python 和 Javascript SDK 似乎需要一个字符串列表(文件的每一行一个),这是我们应该改进的地方。我正在跟进 Azure SDK 团队进行这些改进。