private static void CreateIndex(string indexName, string suggesterName)
{
// Create the Azure Search index based on the included schema
try
{
// Create the suggester for suggestions
Suggester sg = new Suggester();
sg.Name = suggesterName;
sg.SearchMode = SuggesterSearchMode.AnalyzingInfixMatching;
sg.SourceFields = new List<string>() { "name", "county" };
var definition = new Index()
{
Name = indexName,
Fields = new[]
{
new Field("id", DataType.String) { IsKey = true, IsSearchable = false, IsFilterable = false, IsSortable = false, IsFacetable = false, IsRetrievable = true},
new Field("name", DataType.String) { IsKey = false, IsSearchable = true, IsFilterable = true, IsSortable = true, IsFacetable = false, IsRetrievable = true},
new Field("county", DataType.String) { IsKey = false, IsSearchable = true, IsFilterable = true, IsSortable = true, IsFacetable = true, IsRetrievable = true},
new Field("elevation", DataType.Int64) { IsKey = false, IsSearchable = false, IsFilterable = true, IsSortable = true, IsFacetable = true, IsRetrievable = true},
new Field("location", DataType.GeographyPoint) { IsKey = false, IsSearchable = false, IsFilterable = false, IsSortable = false, IsFacetable = false, IsRetrievable = true},
},
Suggesters = new List<Suggester> { sg }
};
_searchClient.Indexes.Create(definition);
}
catch (Exception ex)
{
Console.WriteLine("Error creating index: {0}\r\n", ex.Message.ToString());
}
}