매핑의 ES

Elasticsearch가 검색 모델 선택이 구성 매개 변수에 의해 수행 예 토크 나이 필드, 날짜 형식에 대한 몇 가지 일반적인 기능을 달성하기 위해 매개 변수 설정을 매핑 충분한 필드 매핑 매개 변수를 제공, 다음의 각 하나를 소개 사용 매개 변수.

1. 분석기

분석기 단어에 대한 매개 변수를 인덱싱 및 쿼리에 대한 유효한 텍스트 필드를 지정합니다. 토크 나이 용어의 복수의 텍스트 내용을 입력합니다 쿼리 단어 부문은 마찬가지로 같은 단어를 쿼리합니다 또는 다른 단어 구문 분석 및 인덱스에 의해 문자열입니다. 콘텐츠 인덱싱 및 쿼리가, 매핑 구성은 제목 필드로 다음과 때 제목 필드에 대한 예를 들어 일반적인 IK 중국어 단어, ik_max_word의 분석 매개 변수 값은 ik_max_word 단어 수단을 사용 :

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"분석기" "ik_max_word"

}

}

}

}

분석기를 조회 할 수 있습니다이 매개 변수 필드는 인덱스 레벨은 우선 순위 (우선 순위보다 앞)로 지정됩니다 :

 

필드 토크 나이에 정의

인덱스 구성 단어 분리기에 정의

기본 토크 나이 (표준)

쿼리의 문맥에서 단어의 우선 순위는 찾을 수 있습니다 :

 

전체 텍스트 쿼리 단어가 정의됩니다

매핑 필드 search_analyzer 토크 나이에 정의 정의 유형

사용자 정의 필드 유형 매핑 정의 분석기 토크 나이

인덱스 단어 default_search 정의

지수는 기본적 토크 나이에 의해 정의

표준 토크 나이 (표준)

2. search_analyzer

색인 대부분의 경우 검색은 같은 단어 쿼리 구문 분석 인덱스 후 용어의 일관성을 유지하는 경우에 지정해야합니다. 하지만 가끔은 당신은 다른 단어 분리기를 지정해야합니다. 예를 들어, 필터 edge_ngram 자동 완성 사용. 사용 쿼리 분석기 속성은 기본적으로 단어 분리기를 지정뿐만 아니라 search_analyzer을 적용 할 수 있습니다.

 

다음 예는 다음과 같다 :

 

PUT 웹 사이트

{

"설정": {

"분석":{

"필터":{

"autocomplete_filter": {

"유형": "edge_ngram"

"min_gram": 1,

"max_gram": 20

}

},

"분석기": {

"자동 완성": {

"유형": "사용자 정의"

"토크 나이": "표준",

"필터":[

"소문자"

"autocomplete_filter"

]

}

}

}

},

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"분석기": "자동 완성"

"search_analyzer": "표준"

}

}

}

}

제목 필드는 분할이 수행되는 자동 완성 단어를 사용하지만, 표준 단어를 사용하는 검색됩니다. 문서를 색인 :

 

PUT 웹 사이트 / 1

{

"제목": "빠른 갈색 여우"

}

용어의 역 색인에 의해 생성 된 제목 필드는 다음과 같습니다 :

 

[Q 숨어, 간략히, QUIC 빠르고, B, BR, 형제, 이마, 갈색, F, FO, 폭스]

1

3. 노말

같은 소문자로 모든 문자와 같은 키워드 유형에 대한 표준화 된 구성 전에 분석, 관심을 정규화 매개 변수. foo는의 값은 다음 예는 사용자 정의 노말 문자열이 정상화와 소문자로 변환 구문 분석하기 전에 분야에서 사용된다 :

 

PUT 웹 사이트

{

"설정": {

"분석":{

"노말": {

"my_normalizer": {

"유형": "사용자 정의"

"char_filter"[],

"필터"[ "소", "asciifolding"]

}

}

}

},

"매핑": {

"속성": {

"foo는": {

"유형": "키워드"

"노말": "my_normalizer"

}

}

}

}

4. 부스트

오른쪽 필드는 무게 설정 필드를 강화하는 데 사용됩니다. 이러한 무거운 필드 기본값의 무게 함량이 1 오른쪽 필드에 내용이 나타납니다 무거운 배 적당한 키워드 무게의 제목 필드에 표시되는 설정으로, 매핑은 다음과 같습니다

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"부스트": 2

},

"함유량":{

"유형": "텍스트"

}

}

}

}

또한 쿼리의 시간에 무게를 설정할 수 있습니다 :

 

POST 웹 사이트 / _search

{

"질문":{

"시합":{

"표제":{

"검색어": "나는 중국이다"

"부스트": 2

}

}

}

}

쿼리 시간 추천 지정된 부스트. 인덱스 가중치를 설정하는 경우에는 인덱스를 다시 작성하지 않는 경우, 가중치는 수정할 수 없습니다. 쿼리가 지정되면 가중치는 가중치가 더 유연한 수정, 동일한 효과를 얻을 수 있습니다.

 

5. 강제 변환

강제 변환 속성은 더티 데이터를 제거하기 위해, 기본값은 true입니다. 정수 번호는 3-5 문자열 "5"또는 5.0 float로서 기록 될 수 있습니다. 강제 변환 속성은 분명 더러운 데이터를 문자열로 사용할 수 있고, 부동 소수점 정수로 캐스팅된다.

 

6. copy_to

맞춤 _all copy_to 파라미터 필드 값은 슈퍼 필드 영역의 복수로 복사 할 수 있기 때문이다. 다음의 예에서는 컨텐츠의 제목과 내용 필드 병합 full_content 있습니다.

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"copy_to": "full_content"

},

"함유량":{

"입력": "텍스트를"

"copy_to": "full_content"

},

"full_content": {

"유형": "텍스트"

}

}

}

}

7. doc_values

파라미터이다 doc_values ​​중합 조작 속도 정렬한다. 추가 ** ** 원주 저장 매핑을 추가, 반전 된 인덱스를 구축 할 때, 그 시간에 연습 공간입니다. 기본값은 필드 중합 필요하지 않습니다 또는 공간 절약 doc_values을 정렬 할 수 있습니다 켜져 있습니다.

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"상태":{

"유형": "키워드"

},

"SESSION_ID": {

"유형": "키워드"

"doc_values"거짓

}

}

}

}

참고 : 텍스트 유형은 doc_values을 지원하지 않습니다

 

8. 동적

필드가 동적 매핑을 설정하여 자동으로 추가 할 수 있는지 여부, 다음과 같은 매개 변수를 허용 :

 

사실 : 기본값은 자동으로 필드를 추가

거짓 : 새 필드를 무시

엄격한 : 엄격 모드, 새로운 필드가 예외를 던질 발견

사용 방법 :

 

PUT 웹 사이트

{

"매핑": {

"동적": "엄격한"

"속성": {

"표제":{

"유형": "텍스트"

}

}

}

}

9. 사용 가능

ES 기본 인덱스 모든 필드 및 일부 필드는 저장, 쿼리 또는 컨트롤에 사용할 매개 변수를 사용할 수있는 경우 수요없이 통합에 필요합니다. 오류 필드에 설정하는 것이 가능하게, ES 스킵 필드 내용, 필드 값 만 _source로부터 얻어 질 수 있지만,이 탐색 될 수없는, 필드는 임의의 타입 일 수있다. 예를 들면 :

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"이름":{

"활성화"거짓을

}

}

}

}

10 fielddata

중합 형 텍스트 필드 fielddata에 설정할 수 있습니다. 스크립트를 생성 할 때 사용 fielddata 중합 분야 최초로 정렬하거나. ES는 디스크 테이블의 레코드를 읽어 반전 관계 문서의 용어를 재생하고, 마지막 종류의 자바 힙 메모리.

 

fielddata 속성 텍스트 필드는 기본적 오픈 fielddata 소모 메모리에 의해 꺼져 있습니다.

 

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"fielddata"사실

}

}

}

}

11. 형식

형식 매개 변수를 사용하여 ES 날짜 형식을 지정합니다.

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"인덱스": {

"입력": "날짜",

"형식": "YYYY-MM-DD HH : MM : SS || YYYY-MM-DD || epoch_millis"

}

}

}

}

12 ignore_above

지정된 문자열의 최대 길이는 최대 길이가 예를 들어, 단지 키워드 유형, 무시됩니다 초과 :

 

PUT 웹 사이트

{

매핑 : {

"속성": {

"메시지":{

"유형": "키워드"

"ignore_above": 20

}

}

}

}

13. ignore_malformed

ignore_malformed 불규칙한 데이터를 무시할 수 있습니다. 필드 인덱스 부적절한 데이터 유형 예외 전체 문서 인덱싱 실패 원인, 발생한다. ignore_malformed 매개 변수가 true로 설정하면, 예외가 다른 필드가 제대로 인덱스, 비정상적인 필드가 인덱싱되지 않습니다, 무시됩니다.

 

14. 인덱스

인덱스 속성 지정 필드가 인덱스되어 있는지, 그것은 참 또는 거짓으로 인덱스, 평가하여 검색하지 않습니다.

 

15 index_options

어떤 정보가하는 매개 변수 index_options 역 색인 제어 인덱스에 저장됩니다. 설정 제목 필드 저장 문서 번호, 단어 빈도, 단어의 위치, 시작 문자 위치의 용어의 끝, 매핑은 다음입니다 :

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"index_options": "오프셋"

}

}

}

}

index_options 매개 변수 값 테이블 :

 

매개 변수 역할

문서는 문서 번호, 기본 값을 저장

freqs 저장 문서 번호 어휘 빈도

어떤 문서 저장 위치는, 오프셋 용어 주파수 오프셋 용어는 검색 쿼리 구문을 닫으 사용할 수 없습니다

오프셋 상쇄 문서 번호 키 단어 빈도, 항목, 저장된 문자 위치의 기간의 시작과 끝 단어 위치에 해당 용도 전기 형광펜로 설정된

16. 필드

필드 매개 변수는 색인의 여러 가지 방법이 동일한 필드 수 있습니다. 예를 들어 다음과 같이 입력 텍스트 필드가 중국 문자, 병음 검색을 검색하는 데 사용할 수 있습니다, 매핑은 다음과 같습니다

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"표제":{

"입력": "텍스트를"

"분석기" "ik_max_word"

"search_analyzer": "ik_smart"

"필드":{

"병음": {

"입력": "텍스트를"

"분석기" "병음"

}

}

}

}

}

}

17. 규범

문서 쿼리의 상관 관계를 계산하기 위해, 표준화 문서에 대한 매개 변수를 규범. 점수하지만 더 많은 디스크 공간을 사용합니다 유용 동안 필드 점수 필요가없는 경우 규범은, 그것은 개방 규범에 최선 없습니다.

 

18 null_value

Null 값 필드가 인덱싱되지 않습니다도 검색 할 수 있습니다, null_value 매개 변수는 인덱스 값이 널 (null) 필드를 검색 표시 될 수 있습니다. 다음 예는 다음과 같다 :

 

PUT 웹 사이트

{

"매핑": {

"속성": {

"상태":{

"유형": "키워드"

"null_value": "NULL"

}

}

}

}

 

PUT 웹 사이트 / 1

{

"상태"널 (null)

}

 

PUT 웹 사이트 / 2

{

"상태":[]

}

 

웹 사이트 / _search을 GET

{

"질문":{

"기간":{

"상태": "NULL"

}

}

}

값이 널이 빈 배열 상태는 아니지만 때문에 1 개 문서 상태는 널 (null)이기 때문에, 문헌 2가 검색 될 수없는 검색 할 수있다.

 

19. 속성

매핑, 일반 필드의 입력 및 입력 오브제 중첩 된 필드 유형이라고 등록 정보 (속성), 이러한 특성은 다음과 같은 방법으로 추가 할 수 있습니다 중첩 된 개체 유형 및 속성을 포함한 모든 유형의 데이터가 될 수 있습니다 :

 

인덱스를 만들 때 분명히을 정의합니다.

추가 또는 업데이트 PUT 매핑 API 매핑 유형을 사용할 때 명확하게 정의합니다.

새 필드를 포함하는 문서를 색인 할 때 동적으로 추가했다.

20. 유사성

유사성 매개 변수는 세 개의 매개 변수가있는 문서의 점수 모델을 지정하는 데 사용됩니다 :

 

BM25 : ES와 루씬 기본 점수 모델.

고전 : TF / IDF 점수 모델.

부울 : 채점 모델.

PUT 웹 사이트

{

"매핑": {

"속성": {

"이름":{

"입력": "텍스트를"

"유사성": "고전"

}

}

}

}

21 점

기본적으로 필드는 사용자가 검색 할 수 있습니다, 색인,하지만 저장되지 않습니다. _source 필드는 원본 문서의 사본을 보유하고 있기 때문에. 같은 원본 파일을 저장하지가에 의미가 어떤 경우에, 상점은 몇 필드가 필요합니다.

 

PUT 웹 사이트

{

"매핑": {

"_출처":{

"활성화"거짓을

},

"속성": {

"표제":{

"입력": "텍스트를"

"저장"참

},

"인덱스": {

"입력": "날짜",

"저장"참

},

"함유량":{

"유형": "텍스트"

}

}

}

}

22 term_vector

워드 벡터 구문 분석하려면 다음 정보 텍스트가 포함되어 있습니다 :

어휘 항목의 집합

용어 위치

시작 문자는 원본 문서의 용어 위치에 매핑

값 테이블 매개 변수 term_vector :

 

매개 변수 값의 의미

기본값은, 단어 벡터를 저장하지 않습니다

예 항목의 단지 컬렉션 저장된 단어

용어의 저장과 장기 위치 with_positions

기간 및 문자 오프셋을 with_offsets

저장 어휘, 용어 위치, 캐릭터 위치 오프셋 with_positions_offsets

출처 : https://blog.csdn.net/dwjf321/article/details/104003852

 

게시 된 277 개 원래 기사 · 원의 찬양 (65) · 전망 380 000 +

추천

출처blog.csdn.net/ailiandeziwei/article/details/104674654