elasticsearch 학습노트 고급편(14)-실전 접두사 검색, 어댑터 검색, 정규 검색
3823 단어 elasticsearch
데이터 준비:
PUT /test_index/_create/1
{
"test_field": "C3D0-KD345"
}
PUT /test_index/_create/2
{
"test_field": "C3K5-DFG65"
}
PUT /test_index/_create/3
{
"test_field": "C4I8-UI365"
}
접두사 검색:
원리: 접두사 일치는 관련도 점수를 계산하지 않습니다. 접두사 필터와 유일한 차이점은 필터가cachebitset이 있다는 것입니다.그것은 전체 역렬 색인을 스캔할 것이다.접두사 기준에 맞는 문서를 찾습니다.그래서 접두사가 짧을수록 처리할 문서가 많고 성능이 떨어지므로 가능한 한 긴 접두사로 검색해야 한다.예: C3 접두사가 있는 문서를 검색합니다.
GET /test_index/_search
{
"query": {
"match_phrase_prefix": {
"test_field": "C3"
}
}
}
결과:
{
"took" : 16,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2,
"relation" : "eq"
},
"max_score" : 0.9808292,
"hits" : [
{
"_index" : "test_index",
"_type" : "_doc",
"_id" : "1",
"_score" : 0.9808292,
"_source" : {
"test_field" : "C3D0-KD345"
}
},
{
"_index" : "test_index",
"_type" : "_doc",
"_id" : "2",
"_score" : 0.9808292,
"_source" : {
"test_field" : "C3K5-DFG65"
}
}
]
}
}
와일드카드 검색:
와일드카드 검색은 접두사 검색과 유사하며 접두사 검색보다 더 강력합니다.전체 역렬 인덱스를 스캔해야 하기 때문에 성능도 매우 떨어진다.?:일치하는 문자 표시
GET /test_index/_search
{
"query": {
"wildcard": {
"test_field": {
"value": "*4?"
}
}
}
}
출력 결과:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "test_index",
"_type" : "_doc",
"_id" : "1",
"_score" : 1.0,
"_source" : {
"test_field" : "C3D0-KD345"
}
}
]
}
}
정규 검색:
regexp는 이전의 어댑터 검색 기능보다 기능이 더 강하다고 할 수 있지만, 전체 역렬 인덱스를 스캔할 수 있으며, 성능도 매우 떨어진다.[0-9]: 범위 내의 숫자 [a-z]: 범위 내의 문자를 지정합니다.문자 +: 앞의 정규 표현식은 한 번 또는 여러 번 나타날 수 있습니다 *: 앞의 정규 표현식은 0번 또는 여러 번 나타날 수 있습니다 {n}: n은 음수 정수가 아니며 n회 예시와 일치하고 검색 조건은.*[a-z] {3}[0-9] {2}의 문서
GET /test_index/_search
{
"query": {
"regexp": {
"test_field": {
"value": ".*[a-z]{3}[0-9]{2}"
}
}
}
}
출력 결과:
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "test_index",
"_type" : "_doc",
"_id" : "2",
"_score" : 1.0,
"_source" : {
"test_field" : "C3K5-DFG65"
}
}
]
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.