7.4.3 - elasticsearch 색인 필드 형식 매개 변수
41464 단어 ELKelasticsearch
fielddata text
fielddata 는 대량의 메모 리 를 소모 하기 때문에 특히 대량의 text 필드 를 불 러 올 때;fielddata 가 더미 에 불 러 오 면 segment 의 수명 주기 내 에 일치 하 게 쌓 여 있 습 니 다. 또한 fielddata 를 불 러 오 는 것 도 시간 이 걸 리 는 과정 입 니 다. 이 는 사용자 가 지연 되 기 때문에 기본 적 인 상황 에서 fielddata 인 자 를 사용 하지 않 습 니 다.text 필드 에 대한 정렬, 집합 또는 스 크 립 트 작업 을 시도 할 때 다음 과 같은 이상 을 던 집 니 다.PUT param_fielddata_index
{
"mappings": {
"properties": {
"field_data":{
"type": "text"
}
}
}
}
PUT param_fielddata_index/_doc/1
{
"field_data":"aaa"
}
PUT param_fielddata_index/_doc/2
{
"field_data":"bbb"
}
PUT param_fielddata_index/_doc/3
{
"field_data":"ccc"
}
GET param_fielddata_index/_search
{
"sort": [
{
"field_data": {
"order": "desc"
}
}
]
}
발생 할 수 있 는 이상 정보:
Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [field_data] in order to load field data by uninverting the inverted index. Note that this can use significant memory.
fielddata 인 자 를 설정 하기 전에 이렇게 하 는 것 이 가치 가 있 는 지 를 고려 해 야 합 니 다. 일반적인 text 필드 문제 처리 에 서 는 text 필드 에 키워드 필드 를 추가 로 매 핑 하고 키워드 필드 를 사용 하여 정렬, 집합, 스 크 립 트 작업 을 합 니 다.PUT param_fielddata_index/_mapping
{
"properties":{
"field_data":{
"type":"text",
"fields":{
"keyword":{
"type":"keyword"
}
}
}
}
}
fielddata 설정 이 필요 하 다 면 다음 을 참고 하 십시오.
PUT param_fielddata_index
{
"mappings": {
"properties": {
"field_data":{
"type": "text",
"fielddata": true
}
}
}
}
fielddata 필 터 는 메모리 에 불 러 오 는 단 어 량 을 줄 여 메모리 사용 을 줄 일 수 있 습 니 다.주파수 필 터 는 단어 관련 문서 의 빈 도 를 최소 와 최대 값 사이 에 불 러 올 수 있 습 니 다. 수 치 는 정확 한 값 이나 백분율 로 표시 할 수 있 습 니 다. 빈 도 는 segment 에 따라 계산 되 며 백분율 은 이 필드 값 을 가 진 문서 의 수량 을 기반 으로 합 니 다. segment 의 모든 문서 가 아 닙 니 다.사용 을 통 해 minsegment_size 는 이 segment 에 포 함 된 최소 문서 수 를 지정 하면 작은 segment 를 제거 할 수 있 습 니 다.
PUT param_fielddata_index
{
"mappings": {
"properties": {
"field_data":{
"type": "text",
"fielddata": true,
"fielddata_frequency_filter": {
"min":0.001,
"max":0.1,
"min_segment_size":500
}
}
}
}
}
format 필드 형식 을 date 로 지정 하 는 포맷 형식 입 니 다.
ignore_above
( ) , api , , ( );
// message keyword ignore_above 20
PUT param_ignore_above_index
{
"mappings": {
"properties": {
"message":{
"type": "keyword",
"ignore_above": 20
}
}
}
}
// ,message 20
PUT /param_ignore_above_index/_doc/1
{
"message":"Syntax error"
}
// , message
PUT param_ignore_above_index/_doc/2
{
"message":"Syntax error with some long stacktrace"
}
// ,
GET param_ignore_above_index/_search
{
"aggs": {
"message": {
"terms": {
"field": "message",
"size": 10
}
}
}
}
ignore_malformed
, ; ignore_malformed true, , , ;
PUT param_ignore_malformed_index
{
"mappings": {
"properties": {
"age":{
"type": "integer",
"ignore_malformed": true
},
"level":{
"type": "integer"
}
}
}
}
// ,age
PUT param_ignore_malformed_index/_doc/1
{
"text":"test ignore_malformed",
"age":"foo"
}
//
PUT param_ignore_malformed_index/_doc/2
{
"text":"test ignore_malformed",
"level":"foo"
}
// ignore_malformed ,
// :number_format_exception
GET param_ignore_malformed_index/_search
{
"query": {
"term": {
"age": {
"value": "foo"
}
}
}
}
ignore_malformed 매개 변 수 는 다음 형식 필드 에서 설정 할 수 있 습 니 다.
유형
관련 유형 값
numeric
long,integer,short,byte,double,float,half_float,scaled_float
date
date,date_nanos
geo
geo_point,geo_shape
ip
IPv4,IPv6
색인 단계 의 매개 변수 설정
index.mapping.ignore_malformed , , ignore_malformed , ( );
// ignore_malformed ,
PUT param_global_ignore_malformed_index
{
"settings": {
"index.mapping.ignore_malformed":true
},
"mappings": {
"properties": {
"age":{
"type": "byte"
},
"level":{
"type": "integer",
"ignore_malformed": false
}
}
}
}
//
GET param_global_ignore_malformed_index/_mapping
// ,age ignore_malform
PUT param_global_ignore_malformed_index/_doc/1
{
"text":"global ignore malformed param setting",
"age":"foo"
}
// ,level ignore_malform
PUT param_global_ignore_malformed_index/_doc/2
{
"text":"global ignore malformed param setting",
"level":"foo"
}
사용 불가 ignoremalformed 매개 변수의 유형: 1), nested 형식;2), object 유형;3), range 유형;
// ,Mapping definition for [limit] has unsupported parameters: [ignore_malformed : true]
PUT param_ignore_malformed_limit_index
{
"mappings": {
"properties": {
"limit":{
"type": "object",
"ignore_malformed": true
}
}
}
}
index
index , true/false , true, false
PUT param_index_set_index
{
"mappings": {
"properties": {
"limit":{
"type": "keyword",
"index": false
}
}
}
}
PUT /param_index_set_index/_doc/1
{
"limit":"index param test"
}
// ,Cannot search on field [limit] since it is not indexed.
GET param_index_set_index/_search
{
"query": {
"term": {
"limit": {
"value": "index param test"
}
}
}
}
index_options
,index_options text , ;
이 매개 변 수 는 다음 과 같은 매개 변수 일 뿐 입 니 다.유형
설명 하 다.
docs
문서 번호 에 만 색인 을 만 들 면 '이 필드 에 존재 하 는 지' 에 대한 질문 에 대답 할 수 있 습 니 다.
freqs
문서 번호 와 단어 주파수 에 대한 색인 을 만 들 고 단어 주파 수 는 단어 관련 도 점 수 를 계산 하 는 데 사 용 됩 니 다. (단어 중복 횟수 가 많 을 수록 점수 가 높 습 니 다)
positions
기본 값, 문서 번호, 단어 주파수 및 단어 위치 에 색인 을 만 들 고 구문 조회 에 사용 할 수 있 습 니 다.
offsets
문서 번호, 단어 주파수, 단어 위치 및 단어 시작 위치 (단어 문자열 을 원본 문자열 에 표시 하 는 데 사용) 에 대한 색인 을 만 들 고 하 이 라이트 디 스 플레이 를 가속 화 하 는 데 사용 할 수 있 습 니 다.
tips: : , , ;
// phraseQuery
PUT param_index_options_index_1
{
"mappings": {
"properties": {
"text":{
"type": "text",
"index_options": "docs"
}
}
}
}
PUT param_index_options_index_1/_doc/1
{
"text":"hello world"
}
GET param_index_options_index_1/_search
{
"query": {
"match": {
"text": "hello world"
}
},
"highlight": {
"fields": {
"text": {}
}
}
}
PUT param_index_options_index_2
{
"mappings": {
"properties": {
"text":{
"type": "text",
"index_options": "freqs"
}
}
}
}
PUT param_index_options_index_2/_doc/1
{
"text":"hello world"
}
// ,freqs PhraseQuery,field:[text] was indexed without position data; cannot run PhraseQuery
GET param_index_options_index_2/_search
{
"query": {
"match_phrase": {
"text": "hello world"
}
}
}
GET param_index_options_index_2/_search
{
"query": {
"match": {
"text": "hello world"
}
}
}
PUT param_index_options_index_3
{
"mappings": {
"properties": {
"text":{
"type": "text",
"index_options": "positions"
}
}
}
}
PUT param_index_options_index_3/_doc/1
{
"text":"hello world"
}
GET param_index_options_index_3/_search
{
"query": {
"match": {
"text": "hello world"
}
},
"highlight": {
"fields": {
"text": {}
}
}
}
PUT param_index_options_index_4
{
"mappings": {
"properties": {
"text":{
"type": "text",
"index_options": "offsets"
}
}
}
}
PUT param_index_options_index_4/_doc/1
{
"text":"hello world"
}
GET param_index_options_index_4/_search
{
"query": {
"match": {
"text": "hello world"
}
},
"highlight": {
"fields": {
"text": {}
}
}
}
index_phrases
(term) , true/false, false, ( );
, ;
index_prefixes index_prefixed 매개 변 수 는 단어 원 에 접두사 색인 을 하여 단어 원 접두사 조회 속 도 를 높 일 수 있 습 니 다. 다음 매개 변 수 를 선택 할 수 있 습 니 다.
유형
설명 하 다.
min_chars
최소 색인 문자 길 이 는 0 이상 이 어야 합 니 다. 기본 값 은 2 (포함) 입 니 다.
max_chars
최대 색인 문자 길 이 는 20 보다 작 아야 합 니 다. 기본 값 은 5 (포함) 입 니 다.
PUT param_index_prefix_index
{
"mappings": {
"properties": {
"text":{
"type": "text",
"index_prefixes":{
"min_chars":2,
"max_chars":10
}
}
}
}
}
PUT param_index_prefix_index/_doc/1
{
"text":"Once the RestClient has been created, requests can be sent by calling either performRequest or performRequestAsync"
}
PUT param_index_prefix_index/_doc/2
{
"text":"performRequest is synchronous and will block the calling thread and return the Response when the request is successful or throw an exception if it fails"
}
GET param_index_prefix_index/_search
{
"query": {
"prefix": {
"text": {
"value": "perform"
}
}
}
}
// , prefix min_chars null_pointer_exception
GET param_index_prefix_index/_search
{
"query": {
"prefix": {
"text": {
"value": "p"
}
}
}
}
// prefix max_chars ,
GET param_index_prefix_index/_search
{
"query": {
"prefix": {
"text": {
"value": "performRequest"
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ELK 스택 구축ElasticSearch, LogStash, Kibana 조합으로 로그 수집 - 로그 저장 및 검색 - 시각화로 쓰이게 된다. Logstash는 실시간 파이프라인 기능을 갖는 데이터 수집 엔지이며, Input을 받아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.