你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Indexes - Analyze

显示分析器如何将文本分解为标记。

POST {endpoint}/indexes('{indexName}')/search.analyze?api-version=2023-11-01

URI 参数

名称 必需 类型 说明
endpoint
path True

string

搜索服务的终结点 URL。

indexName
path True

string

要测试分析器的索引的名称。

api-version
query True

string

客户端 API 版本。

请求头

名称 必需 类型 说明
x-ms-client-request-id

string

uuid

随请求一起发送以帮助调试的跟踪 ID。

请求正文

名称 必需 类型 说明
text True

string

要分解为标记的文本。

analyzer

LexicalAnalyzerName

用于中断给定文本的分析器的名称。 如果未指定此参数,则必须改为指定 tokenizer。 tokenizer 和分析器参数是互斥的。

charFilters

CharFilterName[]

在中断给定文本时要使用的可选字符筛选器列表。 仅当使用 tokenizer 参数时,才能设置此参数。

tokenFilters

TokenFilterName[]

中断给定文本时要使用的可选标记筛选器列表。 仅当使用 tokenizer 参数时,才能设置此参数。

tokenizer

LexicalTokenizerName

用于中断给定文本的 tokenizer 的名称。 如果未指定此参数,则必须改为指定分析器。 tokenizer 和分析器参数是互斥的。

响应

名称 类型 说明
200 OK

AnalyzeResult

Other Status Codes

SearchError

错误响应。

示例

SearchServiceIndexAnalyze

示例请求

POST https://myservice.search.windows.net/indexes('hotels')/search.analyze?api-version=2023-11-01

{
  "text": "Text to analyze",
  "analyzer": "standard.lucene"
}

示例响应

{
  "tokens": [
    {
      "token": "text",
      "startOffset": 0,
      "endOffset": 4,
      "position": 0
    },
    {
      "token": "to",
      "startOffset": 5,
      "endOffset": 7,
      "position": 1
    },
    {
      "token": "analyze",
      "startOffset": 8,
      "endOffset": 15,
      "position": 2
    }
  ]
}

定义

名称 说明
AnalyzedTokenInfo

有关分析器返回的令牌的信息。

AnalyzeRequest

指定一些用于将文本分解为标记的文本和分析组件。

AnalyzeResult

测试文本分析器的结果。

CharFilterName

定义搜索引擎支持的所有字符筛选器的名称。

LexicalAnalyzerName

定义搜索引擎支持的所有文本分析器的名称。

LexicalTokenizerName

定义搜索引擎支持的所有 tokenizer 的名称。

SearchError

描述 API 的错误条件。

TokenFilterName

定义搜索引擎支持的所有令牌筛选器的名称。

AnalyzedTokenInfo

有关分析器返回的令牌的信息。

名称 类型 说明
endOffset

integer

输入文本中标记的最后一个字符的索引。

position

integer

标记在输入文本中相对于其他标记的位置。 输入文本中的第一个标记的位置为 0,下一个标记的位置为 1,依依。 根据所使用的分析器,某些令牌可能具有相同的位置,例如,如果它们是彼此的同义词。

startOffset

integer

输入文本中标记的第一个字符的索引。

token

string

分析器返回的令牌。

AnalyzeRequest

指定一些用于将文本分解为标记的文本和分析组件。

名称 类型 说明
analyzer

LexicalAnalyzerName

用于中断给定文本的分析器的名称。 如果未指定此参数,则必须改为指定 tokenizer。 tokenizer 和分析器参数是互斥的。

charFilters

CharFilterName[]

中断给定文本时要使用的字符筛选器的可选列表。 仅当使用 tokenizer 参数时,才能设置此参数。

text

string

要分解为标记的文本。

tokenFilters

TokenFilterName[]

中断给定文本时要使用的标记筛选器的可选列表。 仅当使用 tokenizer 参数时,才能设置此参数。

tokenizer

LexicalTokenizerName

用于中断给定文本的 tokenizer 的名称。 如果未指定此参数,则必须改为指定分析器。 tokenizer 和分析器参数是互斥的。

AnalyzeResult

测试文本分析器的结果。

名称 类型 说明
tokens

AnalyzedTokenInfo[]

请求中指定的分析器返回的令牌列表。

CharFilterName

定义搜索引擎支持的所有字符筛选器的名称。

名称 类型 说明
html_strip

string

尝试去除 HTML 构造的字符筛选器。 请参见https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.html

LexicalAnalyzerName

定义搜索引擎支持的所有文本分析器的名称。

名称 类型 说明
ar.lucene

string

Lucene 阿拉伯语分析器。

ar.microsoft

string

适用于阿拉伯语的 Microsoft 分析器。

bg.lucene

string

保加利亚语的 Lucene 分析器。

bg.microsoft

string

适用于保加利亚语的 Microsoft 分析器。

bn.microsoft

string

适用于孟加拉语的 Microsoft 分析器。

ca.lucene

string

加泰罗尼亚的 Lucene 分析器。

ca.microsoft

string

适用于加泰罗尼亚的 Microsoft 分析器。

cs.lucene

string

用于捷克的 Lucene 分析器。

cs.microsoft

string

适用于捷克的 Microsoft 分析器。

da.lucene

string

丹麦语的 Lucene 分析器。

da.microsoft

string

适用于丹麦语的 Microsoft 分析器。

de.lucene

string

用于德语的 Lucene 分析器。

de.microsoft

string

适用于德语的 Microsoft 分析器。

el.lucene

string

用于希腊语的 Lucene 分析器。

el.microsoft

string

适用于希腊语的 Microsoft 分析器。

en.lucene

string

Lucene 英语分析器。

en.microsoft

string

Microsoft 分析器英语版。

es.lucene

string

用于西班牙语的 Lucene 分析器。

es.microsoft

string

适用于西班牙语的 Microsoft 分析器。

et.microsoft

string

适用于爱沙尼亚语的 Microsoft 分析器。

eu.lucene

string

用于巴斯克的 Lucene 分析器。

fa.lucene

string

用于波斯语的 Lucene 分析器。

fi.lucene

string

芬兰语的 Lucene 分析器。

fi.microsoft

string

适用于芬兰语的 Microsoft 分析器。

fr.lucene

string

Lucene 法语分析器。

fr.microsoft

string

适用于法语的 Microsoft 分析器。

ga.lucene

string

用于爱尔兰的 Lucene 分析器。

gl.lucene

string

加利西亚语的 Lucene 分析器。

gu.microsoft

string

适用于古吉拉特语的 Microsoft 分析器。

he.microsoft

string

适用于希伯来语的 Microsoft 分析器。

hi.lucene

string

用于印地语的 Lucene 分析器。

hi.microsoft

string

适用于印地语的 Microsoft 分析器。

hr.microsoft

string

适用于克罗地亚的 Microsoft 分析器。

hu.lucene

string

匈牙利语的 Lucene 分析器。

hu.microsoft

string

适用于匈牙利语的 Microsoft 分析器。

hy.lucene

string

亚美尼亚语的卢塞内分析器。

id.lucene

string

印尼语的 Lucene 分析器。

id.microsoft

string

适用于印度尼西亚 (Bahasa) 的 Microsoft 分析器。

is.microsoft

string

适用于冰岛语的 Microsoft 分析器。

it.lucene

string

用于意大利语的 Lucene 分析器。

it.microsoft

string

适用于意大利语的 Microsoft 分析器。

ja.lucene

string

用于日语的 Lucene 分析器。

ja.microsoft

string

适用于日语的 Microsoft 分析器。

keyword

string

将某个字段的整个内容视为单个标记。 此方法可用于搜索邮政编码、ID 和某些产品名称等数据。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordAnalyzer.html

kn.microsoft

string

适用于 Kannada 的 Microsoft 分析器。

ko.lucene

string

用于朝鲜语的 Lucene 分析器。

ko.microsoft

string

适用于朝鲜语的 Microsoft 分析器。

lt.microsoft

string

适用于立陶宛语的 Microsoft 分析器。

lv.lucene

string

用于拉脱维亚语的 Lucene 分析器。

lv.microsoft

string

适用于拉脱维亚语的 Microsoft 分析器。

ml.microsoft

string

Microsoft analyzer for Malayalam。

mr.microsoft

string

适用于 Marathi 的 Microsoft 分析器。

ms.microsoft

string

适用于马来语的 Microsoft 分析器 (拉丁语) 。

nb.microsoft

string

适用于挪威语的 Microsoft 分析器 (Bokmål) 。

nl.lucene

string

用于荷兰语的 Lucene 分析器。

nl.microsoft

string

适用于荷兰语的 Microsoft 分析器。

no.lucene

string

挪威语的 Lucene 分析器。

pa.microsoft

string

适用于旁遮普语的 Microsoft 分析器。

pattern

string

通过正则表达式模式将文本灵活地分解成多个词条。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/PatternAnalyzer.html

pl.lucene

string

用于波兰语的 Lucene 分析器。

pl.microsoft

string

适用于波兰的 Microsoft 分析器。

pt-BR.lucene

string

巴西葡萄牙语 (Lucene 分析器) 。

pt-BR.microsoft

string

巴西葡萄牙语 (Microsoft 分析器) 。

pt-PT.lucene

string

葡萄牙 (葡萄牙) 的 Lucene 分析器。

pt-PT.microsoft

string

适用于葡萄牙语的 Microsoft 分析器 (葡萄牙) 。

ro.lucene

string

罗马尼亚语的 Lucene 分析器。

ro.microsoft

string

适用于罗马尼亚语的 Microsoft 分析器。

ru.lucene

string

用于俄语的 Lucene 分析器。

ru.microsoft

string

适用于俄语的 Microsoft 分析器。

simple

string

在非字母处划分文本并将其转换为小写。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/SimpleAnalyzer.html

sk.microsoft

string

适用于斯洛伐克语的 Microsoft 分析器。

sl.microsoft

string

适用于斯洛文尼亚语的 Microsoft 分析器。

sr-cyrillic.microsoft

string

适用于塞尔维亚 (西里尔文) 的 Microsoft 分析器。

sr-latin.microsoft

string

适用于塞尔维亚语 (拉丁语) 的 Microsoft 分析器。

standard.lucene

string

标准 Lucene 分析器。

standardasciifolding.lucene

string

标准 ASCII 折叠 Lucene 分析器。 请参见https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#Analyzers

stop

string

将文本除以非字母;应用小写和非字标记筛选器。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopAnalyzer.html

sv.lucene

string

用于瑞典语的 Lucene 分析器。

sv.microsoft

string

适用于瑞典语的 Microsoft 分析器。

ta.microsoft

string

适用于泰米尔语的 Microsoft 分析器。

te.microsoft

string

适用于 Telugu 的 Microsoft 分析器。

th.lucene

string

用于泰语的 Lucene 分析器。

th.microsoft

string

适用于泰语的 Microsoft 分析器。

tr.lucene

string

用于土耳其语的 Lucene 分析器。

tr.microsoft

string

适用于土耳其语的 Microsoft 分析器。

uk.microsoft

string

适用于乌克兰语的 Microsoft 分析器。

ur.microsoft

string

适用于乌尔都语的 Microsoft 分析器。

vi.microsoft

string

适用于越南语的 Microsoft 分析器。

whitespace

string

使用空格 tokenizer 的分析器。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceAnalyzer.html

zh-Hans.lucene

string

用于中文 (简体中文) 的 Lucene 分析器。

zh-Hans.microsoft

string

适用于中文的 Microsoft 分析器 (简体中文) 。

zh-Hant.lucene

string

中文 (传统) 的 Lucene 分析器。

zh-Hant.microsoft

string

适用于中文 (传统) 的 Microsoft 分析器。

LexicalTokenizerName

定义搜索引擎支持的所有 tokenizer 的名称。

名称 类型 说明
classic

string

适用于处理大多数欧洲语言文档的基于语法的 tokenizer。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html

edgeNGram

string

将来自边缘的输入标记化为给定大小 (s) 的 n 克。 请参见https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html

keyword_v2

string

将整个输入作为单个标记发出。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html

letter

string

在非字母处划分文本。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LetterTokenizer.html

lowercase

string

在非字母处划分文本并将其转换为小写。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseTokenizer.html

microsoft_language_stemming_tokenizer

string

使用特定于语言的规则划分文本,并将各字词缩减为其原形。

microsoft_language_tokenizer

string

使用特定于语言的规则划分文本。

nGram

string

将输入标记为给定大小的 n 元语法。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html

path_hierarchy_v2

string

用于路径式层次结构的 tokenizer。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html

pattern

string

使用正则表达式模式匹配来构造不同令牌的 Tokenizer。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html

standard_v2

string

标准 Lucene 分析器;由标准标记器、小写筛选器和停止筛选器组成。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html

uax_url_email

string

将 URL 和电子邮件标记为一个标记。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html

whitespace

string

在空格处划分文本。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceTokenizer.html

SearchError

描述 API 的错误条件。

名称 类型 说明
code

string

服务器定义的一组错误代码中的一个。

details

SearchError[]

有关导致此项报告错误的特定错误的详细信息数组。

message

string

错误的用户可读表示形式。

TokenFilterName

定义搜索引擎支持的所有令牌筛选器的名称。

名称 类型 说明
apostrophe

string

去除撇号后面的所有字符(包括撇号本身)。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/tr/ApostropheFilter.html

arabic_normalization

string

一个标记筛选器,它应用阿拉伯语规范化程序来规范化正字法。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.html

asciifolding

string

将“基本拉丁语”Unicode) 块 (的前 127 个 ASCII 字符中的字母、数字和符号 Unicode 字符转换为其 ASCII 等效项(如果存在此类等效字符)。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html

cjk_bigram

string

形成从标准 tokenizer 生成的 CJK 术语的 bigram。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html

cjk_width

string

规范化 CJK 宽度差异。 将全形 ASCII 变体折叠为等效的基本拉丁语,将半角片假名变体折叠为等效的假名。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKWidthFilter.html

classic

string

从首字母缩略词中删除英语所有物和点。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicFilter.html

common_grams

string

在编制索引时为经常出现的词条构造二元语法。 此外,仍将为单个词条编制索引并叠加二元语法。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html

edgeNGram_v2

string

从输入令牌的前面或后面开始,生成给定大小 (s) 的 n 元语法。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html

elision

string

删除省音。 例如,“l'avion” (平面) 将转换为“avion” (平面) 。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html

german_normalization

string

根据 German2 snowball 算法的启发法规范化德语字符。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/de/GermanNormalizationFilter.html

hindi_normalization

string

规范化印地语文本,以消除拼写变体中的一些差异。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/hi/HindiNormalizationFilter.html

indic_normalization

string

规范化印地语文本的 Unicode 表示形式。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/in/IndicNormalizationFilter.html

keyword_repeat

string

发出每个传入令牌两次,一次作为关键字 (keyword) 发出,一次作为非关键字 (keyword) 发出。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.html

kstem

string

适用于英语的高性能 kstem 筛选器。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/en/KStemFilter.html

length

string

删除太长或太短的字词。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html

limit

string

编制索引时限制标记数量。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html

lowercase

string

将标记文本规范化为小写。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.htm

nGram_v2

string

生成给定大小的 n 元语法。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html

persian_normalization

string

为波斯语应用规范化。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/fa/PersianNormalizationFilter.html

phonetic

string

为拼音匹配项创建标记。 请参见https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html

porter_stem

string

使用 Porter 词干算法转换令牌流。 请参见http://tartarus.org/~martin/PorterStemmer

reverse

string

反转标记字符串。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html

scandinavian_folding

string

折叠斯堪的纳维亚语字符 åÅäæÄÆ->a 和 öÖøØ->o。 它还排斥双元音 aa、ae、ao、oe 和 oo 的使用,只留下第一个元音。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.html

scandinavian_normalization

string

规范化可互换的斯堪的纳维亚语字符的使用。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.html

shingle

string

创建标记组合作为单个标记。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html

snowball

string

使用 Snowball 生成的词干分析器对单词进行词干的筛选器。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html

sorani_normalization

string

规范化索拉尼语文本的 Unicode 表示形式。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.html

stemmer

string

特定于语言的词干筛选。 请参见https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters

stopwords

string

从标记流中删除非索引字。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html

trim

string

剪裁标记中的前导和尾随空格。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TrimFilter.html

truncate

string

将字词截断为特定长度。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html

unique

string

筛选出与前一个标记具有相同文本的标记。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html

uppercase

string

将标记文本规范化为大写。 请参见http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html

word_delimiter

string

将字词拆分为子字,并对子字组执行可选转换。