in JfkWebApiSkills/JfkInitializer/SearchResources.cs [305:355]
public static SynonymMap GetSynonymMap(string name) =>
new SynonymMap(
name: name,
synonyms: @"GPFLOOR,oswold,ozwald,ozwold,oswald
silvia, sylvia
sever, SERVE, SERVR, SERVER
novenko, nosenko, novenco, nosenko"
);
public static SearchIndex GetIndex(string name, string synonymMapName) =>
new SearchIndex(name: name)
{
Fields = new List<SearchField>()
{
new SearchField("id", SearchFieldDataType.String) { IsSearchable = true, IsFilterable = true, IsHidden = false, IsSortable = true, IsFacetable = false, IsKey = true },
new SearchField("fileName", SearchFieldDataType.String) { IsSearchable = false, IsFilterable = false, IsHidden = false, IsSortable = false, IsFacetable = false },
new SearchField("metadata", SearchFieldDataType.String) { IsSearchable = false, IsFilterable = false, IsHidden = false, IsSortable = false, IsFacetable = false },
new SearchField("text", SearchFieldDataType.String) { IsSearchable = true, IsFilterable = false, IsHidden = false, IsSortable = false, IsFacetable = false, SynonymMapNames = { synonymMapName } },
new SearchField("entities", SearchFieldDataType.Collection(SearchFieldDataType.String)) { IsSearchable = false, IsFilterable = true, IsHidden = false, IsSortable = false, IsFacetable = true },
new SearchField("cryptonyms", SearchFieldDataType.Collection(SearchFieldDataType.String)) { IsSearchable = false, IsFilterable = true, IsHidden = false, IsSortable = false, IsFacetable = true },
new SearchField("demoBoost", SearchFieldDataType.Int32) { IsSearchable = false, IsFilterable = true, IsHidden = false, IsSortable = false, IsFacetable = false },
new SearchField("demoInitialPage", SearchFieldDataType.Int32) { IsSearchable = false, IsFilterable = false, IsHidden = false, IsSortable = false, IsFacetable = false },
},
ScoringProfiles =
{
new ScoringProfile(name: "demoBooster")
{
FunctionAggregation = ScoringFunctionAggregation.Sum,
Functions =
{
new MagnitudeScoringFunction(
fieldName: "demoBoost",
boost: 1000,
parameters: new MagnitudeScoringParameters(
boostingRangeStart: 0,
boostingRangeEnd: 100)
{
ShouldBoostBeyondRangeByConstant = true
})
{
Interpolation = ScoringFunctionInterpolation.Linear
}
}
}
},
CorsOptions = new CorsOptions(allowedOrigins: new List<string>() { "*" }),
Suggesters =
{
new SearchSuggester(name: "sg-jfk", sourceFields: "entities")
}
};