ElasticSearch(Settings,Mappings)
11265 단어 검색 엔진
ElasticSearch(Settings,Mappings)
1. Setting은 인덱스 라이브러리에 대해 인덱스 라이브러리의 분할 수량과 복사본 수량을 설정할 수 있습니다
url 방식 설정 및 수정
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
api 앞에서 색인 라이브러리를 만들 때 말했습니다. 반복하지 않겠습니다.
2. Mappings는 데이터베이스에서 필드에 대한 형식 제약 및 일부 필드를 조회할 때 지정한 분사기에 해당합니다. 홈페이지에 포함된 데이터 형식(text,keyword,date,long,interger...)을 보십시오.
"mappings": {
"user": {//
"properties": {//
"title": {
"type": "text",//
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"//
},
"name": {
"type": "text"
},
"age": {
"type": "long"
}
}
},
"blog": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
}
}
}
apping의 javaApi 만들기
// XContentBuilder
XContentBuilder builder = XContentFactory.jsonBuilder()
.startObject()
.startObject("properties")
.startObject("name")
.field("type", "text")
.endObject()
.startObject("title")
.field("type", "text")
.field("analyzer", "ik_max_word")
.field("search_analyzer", "ik_max_word")
.endObject()
.endObject()
.endObject();
PutMappingResponse response = client.admin().indices().preparePutMapping()
.setIndices("dragon").setType("ccc")
.setSource(builder).get();
System.out.println(response.isAcknowledged());
// json : type setType
josn : { "properties": {
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"name": {
"type": "text"
},
"age": {
"type": "long"
}
}}
String json ="{ \"properties\": {
" +
" \"title\": {
" +
" \"type\": \"text\",
" +
" \"analyzer\": \"ik_max_word\",
" +
" \"search_analyzer\": \"ik_max_word\"
" +
" },
" +
" \"name\": {
" +
" \"type\": \"text\"
" +
" },
" +
" \"age\": {
" +
" \"type\": \"long\"
" +
" }
" +
" }}";
byte[] bytes = json.getBytes();
PutMappingResponse response = client.admin().indices()
.preparePutMapping("dragon").setType("aaa")
.setSource(json, XContentType.JSON).get();
System.out.println(response.isAcknowledged());
}
색인 라이브러리를 만듭니다.
curl -XPUT 'localhost:9200/ ' -d '
{
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"user": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"name": {
"type": "text"
},
"age": {
"type": "long"
}
}
},
"blog": {
"properties": {
"title": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
},
"content": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_max_word"
}
}
}
}
}
' //
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
elasticsearchnested 삽입 대상 전체 텍스트 검색 및 정렬ES Nested 중첩 유형은 무엇입니까?Elasticsearch에는 다음과 같은 다양한 데이터 유형이 있습니다. 기본 데이터 형식:string 형식.ES 7.x에서string 형식은:text와 키워드로 업그레이드됩...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.