Skip to content

Commit 47b422a

Browse files
add normalizer field property and normalizers index property to API spec (Azure#12983)
1 parent c18406c commit 47b422a

File tree

1 file changed

+115
-2
lines changed

1 file changed

+115
-2
lines changed

specification/search/data-plane/Azure.Search/preview/2020-06-30-Preview/searchservice.json

Lines changed: 115 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2495,7 +2495,7 @@
24952495
{
24962496
"value": "lowercase",
24972497
"name": "Lowercase",
2498-
"description": "Normalizes token text to lower case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.htm"
2498+
"description": "Normalizes token text to lower case. See https://lucene.apache.org/core/6_6_1/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.html"
24992499
},
25002500
{
25012501
"value": "nGram_v2",
@@ -2575,7 +2575,7 @@
25752575
{
25762576
"value": "uppercase",
25772577
"name": "Uppercase",
2578-
"description": "Normalizes token text to upper case. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html"
2578+
"description": "Normalizes token text to upper case. See https://lucene.apache.org/core/6_6_1/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html"
25792579
},
25802580
{
25812581
"value": "word_delimiter",
@@ -2589,6 +2589,51 @@
25892589
"url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
25902590
}
25912591
},
2592+
"LexicalNormalizerName": {
2593+
"type": "string",
2594+
"enum": [
2595+
"asciifolding",
2596+
"elision",
2597+
"lowercase",
2598+
"standard",
2599+
"uppercase"
2600+
],
2601+
"x-ms-enum": {
2602+
"name": "LexicalNormalizerName",
2603+
"modelAsString": true,
2604+
"values": [
2605+
{
2606+
"value": "asciifolding",
2607+
"name": "AsciiFolding",
2608+
"description": "Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127 ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such equivalents exist. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html"
2609+
},
2610+
{
2611+
"value": "elision",
2612+
"name": "Elision",
2613+
"description": "Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html"
2614+
},
2615+
{
2616+
"value": "lowercase",
2617+
"name": "Lowercase",
2618+
"description": "Normalizes token text to lowercase. See https://lucene.apache.org/core/6_6_1/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.html"
2619+
},
2620+
{
2621+
"value": "standard",
2622+
"name": "Standard",
2623+
"description": "Standard normalizer, which consists of lowercase and asciifolding. See http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html"
2624+
},
2625+
{
2626+
"value": "uppercase",
2627+
"name": "Uppercase",
2628+
"description": "Normalizes token text to uppercase. See https://lucene.apache.org/core/6_6_1/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html"
2629+
}
2630+
]
2631+
},
2632+
"description": "Defines the names of all text normalizers supported by Azure Cognitive Search.",
2633+
"externalDocs": {
2634+
"url": "https://aka.ms/azs-normalizers"
2635+
}
2636+
},
25922637
"CharFilterName": {
25932638
"type": "string",
25942639
"enum": [
@@ -2873,6 +2918,56 @@
28732918
"url": "http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html"
28742919
}
28752920
},
2921+
"LexicalNormalizer": {
2922+
"properties": {
2923+
"@odata.type": {
2924+
"type": "string",
2925+
"description": "Identifies the concrete type of the normalizer."
2926+
},
2927+
"name": {
2928+
"type": "string",
2929+
"externalDocs": {
2930+
"url": "https://aka.ms/azs-normalizers"
2931+
},
2932+
"description": "The name of the normalizer. It must only contain letters, digits, spaces, dashes or underscores, can only start and end with alphanumeric characters, and is limited to 128 characters. It cannot end in '.microsoft' nor '.lucene', nor be named 'asciifolding', 'standard', 'lowercase', 'uppercase', or 'elision'."
2933+
}
2934+
},
2935+
"required": [
2936+
"@odata.type",
2937+
"name"
2938+
],
2939+
"description": "Base type for normalizers."
2940+
},
2941+
"CustomNormalizer": {
2942+
"x-ms-discriminator-value": "#Microsoft.Azure.Search.CustomNormalizer",
2943+
"allOf": [
2944+
{
2945+
"$ref": "#/definitions/LexicalNormalizer"
2946+
}
2947+
],
2948+
"properties": {
2949+
"tokenFilters": {
2950+
"type": "array",
2951+
"items": {
2952+
"$ref": "#/definitions/TokenFilterName",
2953+
"x-nullable": false
2954+
},
2955+
"description": "A list of token filters used to filter out or modify the input token. For example, you can specify a lowercase filter that converts all characters to lowercase. The filters are run in the order in which they are listed."
2956+
},
2957+
"charFilters": {
2958+
"type": "array",
2959+
"items": {
2960+
"$ref": "#/definitions/CharFilterName",
2961+
"x-nullable": false
2962+
},
2963+
"description": "A list of character filters used to prepare input text before it is processed. For instance, they can replace certain characters or symbols. The filters are run in the order in which they are listed."
2964+
}
2965+
},
2966+
"description": "Allows you to configure normalization for filterable, sortable, and facetable fields, which by default operate with strict matching. This is a user-defined configuration consisting of at least one or more filters, which modify the token that is stored.",
2967+
"externalDocs": {
2968+
"url": "https://aka.ms/azs-custom-normalizers"
2969+
}
2970+
},
28762971
"LexicalTokenizer": {
28772972
"discriminator": "@odata.type",
28782973
"properties": {
@@ -6528,6 +6623,14 @@
65286623
"description": "The name of the analyzer used at indexing time for the field. This option can be used only with searchable fields. It must be set together with searchAnalyzer and it cannot be set together with the analyzer option. This property cannot be set to the name of a language analyzer; use the analyzer property instead if you need a language analyzer. Once the analyzer is chosen, it cannot be changed for the field. Must be null for complex fields.",
65296624
"x-nullable": true
65306625
},
6626+
"normalizer": {
6627+
"externalDocs": {
6628+
"url": "https://aka.ms/azs-normalizers"
6629+
},
6630+
"$ref": "#/definitions/LexicalNormalizerName",
6631+
"description": "The name of the normalizer to use for the field. This option can be used only with fields with filterable, sortable, or facetable enabled. Once the normalizer is chosen, it cannot be changed for the field. Must be null for complex fields.",
6632+
"x-nullable": true
6633+
},
65316634
"synonymMaps": {
65326635
"externalDocs": {
65336636
"url": "https://docs.microsoft.com/rest/api/searchservice/Synonym-Map-operations"
@@ -7013,6 +7116,16 @@
70137116
"url": "https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search"
70147117
}
70157118
},
7119+
"normalizers": {
7120+
"type": "array",
7121+
"items": {
7122+
"$ref": "#/definitions/LexicalNormalizer"
7123+
},
7124+
"description": "The normalizers for the index.",
7125+
"externalDocs": {
7126+
"url": "https://aka.ms/azs-custom-normalizers"
7127+
}
7128+
},
70167129
"encryptionKey": {
70177130
"$ref": "#/definitions/SearchResourceEncryptionKey",
70187131
"description": "A description of an encryption key that you create in Azure Key Vault. This key is used to provide an additional level of encryption-at-rest for your data when you want full assurance that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can change this property as needed if you want to rotate your encryption key; Your data will be unaffected. Encryption with customer-managed keys is not available for free search services, and is only available for paid services created on or after January 1, 2019.",

0 commit comments

Comments
 (0)