Elasticsearch - 4가지 내장형 분석기

Built-in Analyzers


However, Elasticsearch also ships with prepackaged analyzers that you can use directly. We list the most important ones next and, to demonstrate the difference in behavior, we show what terms each would produce from this string:
"Set the shape to semi-transparent by calling set_trans(5)"

Standard analyzer
The standard analyzer is the default analyzer that Elasticsearch uses. It is the best general choice for analyzing text that may be in any language. It splits the text on word boundaries, as defined by theUnicode Consortium, and removes most punctuation. Finally, it lowercases all terms. It would produce
set, the, shape, to, semi, transparent, by, calling, set_trans, 5

Simple analyzer
The simple analyzer splits the text on anything that isn’t a letter, and lowercases the terms. It would produce
set, the, shape, to, semi, transparent, by, calling, set, trans

Whitespace analyzer
The whitespace analyzer splits the text on whitespace. It doesn’t lowercase. It would produce
Set, the, shape, to, semi-transparent, by, calling, set_trans(5)

Language analyzers
Language-specific analyzers are available for many languages. They are able to take the peculiarities of the specified language into account. For instance, the  english  analyzer comes with a set of Englishstopwords (common words like  and  or  the  that don’t have much impact on relevance), which it removes. This analyzer also is able to stem English words because it understands the rules of English grammar.
The  english  analyzer would produce the following:
set, shape, semi, transpar, call, set_tran, 5

Note how  transparentcalling , and  set_trans  have been stemmed to their root form.
4가지 분사기는 각자의 특징을 가지고 실제 조회에 따라 적합한 분사기를 지정해야 한다. 그렇지 않으면 예상치 못한 조회 결과가 나올 수 있다.필드에 분사기를 지정해야 할 때mapping을 사용할 수 있습니다.

Specifying Analyzersedit


When Elasticsearch detects a new string field in your documents, it automatically configures it as a full-text string  field and analyzes it with the  standard  analyzer.
You don’t always want this. Perhaps you want to apply a different analyzer that suits the language your data is in. And sometimes you want a string field to be just a string field—to index the exact value that you pass in, without any analysis, such as a string user ID or an internal status field or tag.
To achieve this, we have to configure these fields manually by specifying the mapping.공식 문서:https://www.elastic.co/guide/en/elasticsearch/guide/current/analysis-intro.html

좋은 웹페이지 즐겨찾기