Elk에서 영문 검색 시 띄어쓰기를 하지 않는경우 검색 방법을 알아보자.
kibana에서 실행 하면 된다.
index 생성 setting, mapping 입력
PUT english_pattern_replace_test
{
"settings": {
"analysis": {
"char_filter": {
"whitespace_remove": {
"type": "pattern_replace",
"pattern": "\\s+",
"replacement": ""
}
},
"analyzer": {
"custom_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": ["lowercase", "asciifolding"],
"char_filter": ["whitespace_remove"]
}
}
}
},
"mappings": {
"_doc": {
"dynamic": "false",
"properties": {
"title_eng": {
"type": "keyword",
"fields": {
"analyze": {
"type": "text",
"term_vector": "yes",
"analyzer": "custom_analyzer"
}
}
}
}
}
}
}
Analyser 확인
GET english_pattern_replace_test/_analyze
{
"analyzer": "custom_analyzer",
"text": [
"Elastic Search"
]
}
-----------out-----------
{
"tokens" : [
{
"token" : "elasticsearch",
"start_offset" : 0,
"end_offset" : 14,
"type" : "word",
"position" : 0
}
]
}
색인 삽입
PUT english_pattern_replace_test/_doc/0
{
"title_eng" : "Elastic Search"
}
PUT english_pattern_replace_test/_doc/1
{
"title_eng" : "Elastic Search Guide"
}
검색
GET english_pattern_replace_test/_search
{
"query": {
"bool": {
"must": [
{
"dis_max": {
"queries": [
{
"multi_match": {
"query": "ElasticSearch",
"fields": [
"title_eng.analyze"
],
"type": "cross_fields",
"operator": "OR"
}
}
]
}
}
]
}
}
}
-----------out----------------
{
"took" : 2,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : 1,
"max_score" : 0.2876821,
"hits" : [
{
"_index" : "english_pattern_replace_test",
"_type" : "_doc",
"_id" : "0",
"_score" : 0.2876821,
"_source" : {
"title_eng" : "Elastic Search"
}
}
]
}
}
참조 사이트
https://findstar.pe.kr/2018/07/14/elasticsearch-wildcard-to-ngram/
반응형
사업자 정보 표시
라울앤알바 | 장수호 | 서울특별시 관악구 봉천로 13나길 58-10, 404호(봉천동) | 사업자 등록번호 : 363-72-00290 | TEL : 010-5790-0933 | Mail : shjang@raulnalba.com | 통신판매신고번호 : 2020-서울관악-0892호 | 사이버몰의 이용약관 바로가기
'programmer > Elasticsearch' 카테고리의 다른 글
Set up basic security for the Elastic Stack (0) | 2022.03.03 |
---|---|
[Elasticsearch] 영문 검색 시 띄어쓰기 제거[2/2] (0) | 2022.02.23 |
Kibana to website (0) | 2021.12.21 |
Elasticsearch to PowerBI (0) | 2021.12.21 |
Elasticsearch log4j2 보안 이슈 (0) | 2021.12.21 |