오타 교정 기능 적용 이후 검색 결과 정확도 향상을 위한 인덱스 매핑 변경 과정-②

Ariul·2022년 10월 10일
0
post-thumbnail

6주 동안 실전 프로젝트를 진행하면서 학습한 내용을 기록하고, 팀의 리더로서 프로젝트 매니징 경험을 기록하는 시리즈입니다.


v3. Nori + Jamo + N-gram + 사용자 사전

인덱스 매핑 정의

PUT user-dic-ngram
{
  "settings": {
    "analysis": {
      "char_filter": { // 1️⃣ 캐릭터 필터
        "special_character_filter": {
          "pattern": "[\\p{Alpha}\\p{Digit}]",
          "type": "pattern_replace",
          "replacement": ""
        },
        "blank_filter": {
          "pattern": "[\\p{Blank}]",
          "type": "pattern_replace",
          "replacement": ""
        }
      },
      "tokenizer": { // 2️⃣ 토크나이저
        "korean_nori_tokenizer": {
          "type": "nori_tokenizer",
          "decompound_mode": "mixed",
          "user_dictionary": "user_dic/pat_dic_v3.txt"
        }
      }, 
      "filter": { // 3️⃣ 토큰 필터
        "nori_posfilter": {
          "type": "nori_part_of_speech",
          "stoptags": ["J","E","NNB","MAJ","MM","XSV","XSA","VCP","SE","XSN","VCN","SP","NA","UNA","VSV","XPN","IC","VV"]
        },
        "ngram2_filter": {
          "type": "ngram",
          "min_gram": 3,
          "max_gram": 3
        }
      },
      "analyzer": { // 4️⃣ 애널라이저
        "nori_analyzer": {
          "type": "custom",
          "tokenizer": "korean_nori_tokenizer",
          "filter" : [
            "lowercase", 
            "nori_posfilter"
          ]
        },
        "ngram_analyzer" : {
          "type" : "custom",
          "char_filter" : [
            "blank_filter",
            "special_character_filter"
            ],
          "tokenizer" : "standard",
          "filter" : [
            "ngram2_filter"
          ]
        },
        "sum_ngram_analyzer" : {
          "type" : "custom",
          "char_filter" : [
            "special_character_filter"
            ],
          "tokenizer" : "standard",
          "filter" : [
            "ngram2_filter"
          ]
        },
        "jamo_index_analyzer": {
          "type": "custom",
          "char_filter": [
            "special_character_filter"
          ],
          "tokenizer": "standard",
          "filter" : [
            "jamo"
          ]
        },
        "jamo_search_analyzer": {
          "type": "custom",
          "char_filter": [
            "blank_filter",
            "special_character_filter"        
          ],
          "tokenizer": "standard",
          "filter": [
            "jamo"
          ]
        },
        "jamo_live_blank_search_analyzer": {
          "type": "custom",
          "char_filter": [
            "special_character_filter"
            ],
          "tokenizer": "standard",
          "filter": [
            "jamo"
          ]
        },
        "number_analyzer" : {
          "type" : "pattern",
          "pattern" :"[.]"
        }
      }
    }
  },
  "mappings": { // 5️⃣ 필드에 데이터 타입 매핑
    "properties": {
      "발명의명칭": {
        "type": "text",
        "analyzer": "jamo_index_analyzer",
        "search_analyzer": "jamo_search_analyzer",
        "fields": {
          "nori" : {
            "type" : "text",
            "analyzer" : "nori_analyzer"
          },
          "ngram" : {
            "type" : "text",
            "analyzer" : "ngram_analyzer"
          },
          "lblank" : {
            "type" : "text",
            "analyzer" : "jamo_index_analyzer",
            "search_analyzer": "jamo_live_blank_search_analyzer"
          }
        }
      },
      "요약": {
        "type": "text",
        "analyzer": "jamo_index_analyzer",
        "search_analyzer" : "jamo_search_analyzer",
        "fields": {
          "nori" : {
            "type" : "text",
            "analyzer" : "nori_analyzer"
          },
          "ngram": {
            "type": "text",
            "analyzer": "sum_ngram_analyzer"
          },
          "lblank" : {
            "type" : "text",
            "analyzer" : "jamo_index_analyzer",
            "search_analyzer" : "jamo_live_blank_search_analyzer"
          }
        }
      },    
      "출원인": {
        "type": "text",
        "analyzer": "jamo_index_analyzer",
        "search_analyzer" : "jamo_search_analyzer",
        "fields": {
          "nori" : {
            "type" : "text",
            "analyzer" : "nori_analyzer"
          },
          "ngram" : {
            "type" : "text",
            "analyzer" : "ngram_analyzer"
          },
          "lblank" : {
            "type" : "text",
            "analyzer" : "jamo_index_analyzer",
            "search_analyzer" : "jamo_live_blank_search_analyzer"
          }
        }
      },
      "CPC분류": {
        "type": "text"    
      },
      "IPC분류": {
        "type": "text"    
      },
      "event": {
        "properties": {
          "original": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      },
      "log": {
        "properties": {
          "file": {
            "properties": {
              "path": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              }
            }
          }
        }
      },
      "공개번호": {
        "type": "keyword"      
      },
      "공고번호": {
        "type": "keyword"
      },
      "등록번호": {
       "type": "keyword"
      },
      "법적상태": {
        "type": "keyword" 
      },
      "출원번호": {
        "type": "text",
        "fields": {
          "keyword" : {
            "type" : "keyword",
            "ignore_above": "256"
          }
        } 
      },
      "출원일자": {
        "type": "text",
        "analyzer": "number_analyzer",
        "fields": {
          "keyword" : {
            "type" : "keyword",
            "ignore_above" : 256
          }
        }
      }
    }
  }
}

1. Character Filter

1.1. Pattern Replace Character Filter

정규 표현식을 사용하여 해당 문자들을 특정 문자열로 대체합니다.

pattern replace character filter가 제공하는 옵션은 다음과 같습니다.

  • pattern : 자바 정규 표현식
    표현식의미
    \p{Alpha}문자
    \p{Digit}숫자
    {Blank}space 또는 tab
  • replacement : 대체 문자열
    • special_character_filter: 문자와 숫자를 대체
    • blank_filter: 공백을 대체

2. Tokenizer

2.1. Nori Tokenizer

nori_tokenizer가 제공하는 옵션은 다음과 같습니다.

  • user_dictionary : 사용자 정의 사전 ⇒ v1에서는 특허 검색 서비스에서 사용자 정의 사전을 설정하기 어렵다고 판단하여 배제하였습니다. 하지만 지속적으로 서치한 결과, 한국특허정보원에서 개발한 언어모델을 통해 600만 건의 용어가 있는 사용자 사전을 얻을 수 있었고 v2부터는 이를 적용하였습니다.
  • decompound_mode : 복합 명사를 토크나이저가 처리하는 방식을 결정 ⇒ 분리된 복합 명사와 원본 데이터 모두 유지하기 위해 mixed로 설정하였습니다.

3. Token Filter

3.1. nori_part_of_speech

nori_part_of_speech 토큰 필터를 이용해서 제거할 품사(POS - Part Of Speech) 코드입니다.

⇒ “J","E","NNB","MAJ","MM","XSV","XSA","VCP","SE","XSN","VCN","SP","NA","UNA","VSV","XPN","IC","VV"

3.2. ngram

ngram token filter가 제공하는 옵션은 다음과 같습니다.

  • min_gram: 그램의 최소 글자 수
  • max_gram: 그램의 최대 글자 수

4. Analyzer

4.1. nori_analyzer

[발명의명칭], [출원인], [요약] 필드를 멀티 필드로 두고 .nori 필드에 한글 형태소 분석기(Nori)를 적용하였습니다.

4.2. ngram_analyzer

[발명의명칭], [출원인] 필드를 멀티 필드로 두고 .ngram 필드에 커스텀 애널라이저를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자, 공백을 제거하고 standard 토크나이저와 n-gram 필터를 사용합니다.

4.3. sum_ngram_analyzer

[요약] 필드를 멀티 필드로 두고 .ngram 필드에 커스텀 애널라이저를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자를 제거하고 standard 토크나이저와 n-gram 필터를 사용합니다.

4.4. jamo_index_analyzer

[발명의명칭], [요약], [출원인] 필드를 멀티 필드로 두고 .lblank 필드에 커스텀 애널라이저를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자를 제거하고 standard 토크나이저와 jamo 필터를 사용합니다.

4.5. jamo_search_analyzer

jamo_index_analyzer로 색인된 용어들을 잘 찾기 위해 검색 시에 search analyzer를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자, 공백을 제거하고 standard 토크나이저와 jamo 필터를 사용합니다.

4.6. jamo_live_blank_search_analyzer

jamo_index_analyzer로 색인된 용어들을 잘 찾기 위해 검색 시에 search analyzer를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자를 제거하고 standard 토크나이저와 jamo 필터를 사용합니다.

4.7. number_analyzer

[출원일자] 필드의 데이터는 ‘2022.09.21’의 형태를 가집니다.

그 중에서 연도(2022)만 추출하기 위해 패턴 “[.]”을 기준으로 텍스트를 분리하는 패턴 애널라이저를 적용했습니다.

5. 필드에 데이터 타입 매핑

  • [출원번호] : text, keyword
  • [출원일자] : text, keyword
  • [발명의명칭] : text
  • [출원인] text
  • [IPC분류] text
  • [CPC분류] text
  • [공고번호] keyword
  • [공개번호] keyword
  • [등록번호] keyword
  • [법적상태] keyword
  • [요약] text

개선점

  • v2와 달리, 오타가 있어도 원하는 결과를 얻을 수 있었습니다.

    • 검색한 키워드: 어일저장탱크
    • 예상 반환 결과:
    • 실제 반환 결과: 3 hits
      {
        "took": 175,
        "timed_out": false,
        "_shards": {
          "total": 1,
          "successful": 1,
          "skipped": 0,
          "failed": 0
        },
        "hits": {
          "total": {
            "value": 3,
            "relation": "eq"
          },
          "max_score": 25.401136,
          "hits": [
            {
              "_index": "user-dic-plus-ngram",
              "_id": "TJa6l4MBM1ppetunmW-v",
              "_score": 25.401136,
              "_source": {
                "요약": "본 고안은 오일저장탱크를 갖춘 차량용 브레이크의 마스터실린더에 관한 것으로, 그 목적은 오일감지장치의 플로트가 오일저장탱크의 천정면에 접착되는 것을 방지하는 것이다. 본 고안에 따른 오일저장탱크를 갖춘 차량용 브레이크의 마스터실린더는 오일저장탱크(20) 내에 마련되는 플로트(31)의 상면에 다수개의 돌기(33)를 형성하여 오일의 점성 및 표면장력에 의해 탱크(20)의 천정면에 달라붙는 것을 방지하였다. 따라서 플로트(31)는 항상 오일의 액면상에 떠있게 되어 본 기능을 원활하게 수행하며, 이의 전체적인 신뢰성이 향상되는 이점이 있다.",
                "발명의명칭": "오일저장탱크를 갖춘 차량용 브레이크의 마스터실린더()"
              }
            },
            {
              "_index": "user-dic-plus-ngram",
              "_id": "Kpa6l4MBM1ppetunq3W-",
              "_score": 19.633049,
              "_source": {
                "요약": "본 발명은 용기(1)와, 용기의 상부 일 측에 파이프에 연결 설치되어 오일이 유입되는 오일저장탱크(2)와, 상기 용기(1)의 다른 상부 일 측에 파이프에 연결 설치되며 용기내의 압력을 감압시키는 진공펌프(4)와, 상기 용기(1)의 하부 일 측에 파이프에 연결 설치되어 오존을 용기(1)내에 유입된 오일(7)에 용해시키도록 공급하는 오존발생장치(3)와, 상기 용기(1)내의 하부 다른 일 측에 설치된 배출구(5)와, 용기(1)내의 몸체에 중앙부에 설치된 관찰창(6)과, 용기(1)의 하부에 설치된 진동장치(8)로 구성된 저농도 오존을 함유하는 오일제제 제조장치 및 그 제법. 저농도 오존화 오일제제 제조장치. 저농도 오존화 오일제제 제법. 진공펌프. 오존발생장치. 진동장치.",
                "발명의명칭": "저농도 오존을 함유하는 오일제제 제조장치 및 그 제법(Production method and apparatus for ozonized oil)"
              }
            },
            {
              "_index": "user-dic-plus-ngram",
              "_id": "IZa6l4MBM1ppetuncFuQ",
              "_score": 18.078995,
              "_source": {
                "요약": "본 발명은 음식물 쓰레기 처리장치에 관한 것으로서 그 기술적인 수단은, 본체부(1)의 상부 일측면에 쓰레기 투입구(7)가 설치되고, 상기 본체부(1)의 내측에 형성되는 몸체(13)의 저면에 스크류 컨베이어(11) (11´) (11˝)로 이루어진 분쇄수단(14)이 설치되며, 상기 분쇄수단(14)의 상측에 중공의 회전축(15)에 연결되는 다수의 패들(16)로서 구성되는 교반기(17)가 설치되고, 상기 회전축(15)에 다수의 에어홀(34)이 형성한다. 또한, 상기 몸체(13)의 측면 상, 하에 전동기(18) (19)를 각각 설치하여 그 상측의 전동기(18)를 교반기(17)에 체인(22) 연결하고, 상기 하측의 전동기(19)를 스크류 컨베이어(11) 결합되는 스프로킷(23)에 체인(24) 연결하며, 상기 스크류 컨베이어(11)와 그 일측의 스크류 컨베이어(11´)는 기어 (25) (26) 결합되고, 상기 스크류 컨베이어(11)와 그 타측의 스크류 컨베이어(11˝)는 체인(27) 연결되며, 상기 몸체(13)의 외 측면 하부에 오일 저장탱크(29)를 설치하고, 상기 오일저장탱크(29)의 외 측면 저부에 히터장치(30)를 설치하며, 상기 히터장치(30)의 일 측에 송풍기 (31)를 설치하여 회전축(15)에 형성되는 에어 홀(34)에 에어를 공급토록 연결하고, 상기 몸체(13)의 일측에 결로장치(32)를 설치하는 것을 요지로 한다.",
                "발명의명칭": "음식물 쓰레기 처리장치()"
              }
            }
          ]
        }
      }
    • “explain”: true
      "max_score": 25.401136,
      ...
      "_explanation": {
                "value": 25.401136,
                "description": "sum of:",
                "details": [
                  {
                    "value": 9.521341,
                    "description": "max of:",
                    "details": [
                      {
                        "value": 9.521341,
                        "description": "weight(요약.lblank:ㅇㅗㅇㅣㄹㅈㅓㅈㅏㅇㅌㅐㅇㅋㅡ in 2585) [PerFieldSimilarity], result of:", ...
                      }, ...
                  {
                    "value": 15.879795,
                    "description": "max of:",
                    "details": [
                      {
                        "value": 15.879795,
                        "description": "weight(Synonym(**발명의명칭.ngram:어일저 발명의명칭.ngram:일저장 발명의명칭.ngram:장탱크 발명의명칭.ngram:저장탱**) in 2585) [PerFieldSimilarity], result of:", ...
                      }, ...
                      

v4. Nori + Jamo + N-gram

  • v4. 인덱스 매핑 정의
    PUT no-user-dic-ngram
    {
      "settings": {
        "analysis": {
          "char_filter": { // 1️⃣ 캐릭터 필터
            "special_character_filter": {
              "pattern": "[\\p{Alpha}\\p{Digit}]",
              "type": "pattern_replace",
              "replacement": ""
            },
            "blank_filter": {
              "pattern": "[\\p{Blank}]",
              "type": "pattern_replace",
              "replacement": ""
            }
          },
          "tokenizer": { // 2️⃣ 토크나이저
            "korean_nori_tokenizer": {
              "type": "nori_tokenizer",
              "decompound_mode": "mixed"
            }
          }, 
          "filter": { // 3️⃣ 토큰 필터
            "nori_posfilter": {
              "type": "nori_part_of_speech",
              "stoptags": ["J","E","NNB","MAJ","MM","XSV","XSA","VCP","SE","XSN","VCN","SP","NA","UNA","VSV","XPN","IC","VV"]
            },
            "ngram2_filter": {
              "type": "ngram",
              "min_gram": 3,
              "max_gram": 3
            }
          },
          "analyzer": { // 4️⃣ 애널라이저
            "nori_analyzer": {
              "type": "custom",
              "tokenizer": "korean_nori_tokenizer",
              "filter" : [
                "lowercase", 
                "nori_posfilter"
              ]
            },
            "ngram_analyzer" : {
              "type" : "custom",
              "char_filter" : [
                "blank_filter",
                "special_character_filter"
                ],
              "tokenizer" : "standard",
              "filter" : [
                "ngram2_filter"
              ]
            },
            "sum_ngram_analyzer" : {
              "type" : "custom",
              "char_filter" : [
                "special_character_filter"
                ],
              "tokenizer" : "standard",
              "filter" : [
                "ngram2_filter"
              ]
            },
            "jamo_index_analyzer": {
              "type": "custom",
              "char_filter": [
                "special_character_filter"
              ],
              "tokenizer": "standard",
              "filter" : [
                "jamo"
              ]
            },
            "jamo_search_analyzer": {
              "type": "custom",
              "char_filter": [
                "blank_filter",
                "special_character_filter"        
              ],
              "tokenizer": "standard",
              "filter": [
                "jamo"
              ]
            },
            "jamo_live_blank_search_analyzer": {
              "type": "custom",
              "char_filter": [
                "special_character_filter"
                ],
              "tokenizer": "standard",
              "filter": [
                "jamo"
              ]
            },
            "number_analyzer" : {
              "type" : "pattern",
              "pattern" :"[.]"
            }
          }
        }
      },
      "mappings": { // 5️⃣ 필드에 데이터 타입 매핑
        "properties": {
          "발명의명칭": {
            "type": "text",
            "analyzer": "jamo_index_analyzer",
            "search_analyzer": "jamo_search_analyzer",
            "fields": {
              "nori" : {
                "type" : "text",
                "analyzer" : "nori_analyzer"
              },
              "ngram" : {
                "type" : "text",
                "analyzer" : "ngram_analyzer"
              },
              "lblank" : {
                "type" : "text",
                "analyzer" : "jamo_index_analyzer",
                "search_analyzer": "jamo_live_blank_search_analyzer"
              }
            }
          },
          "요약": {
            "type": "text",
            "analyzer": "jamo_index_analyzer",
            "search_analyzer" : "jamo_search_analyzer",
            "fields": {
              "nori" : {
                "type" : "text",
                "analyzer" : "nori_analyzer"
              },
              "ngram": {
                "type": "text",
                "analyzer": "sum_ngram_analyzer"
              },
              "lblank" : {
                "type" : "text",
                "analyzer" : "jamo_index_analyzer",
                "search_analyzer" : "jamo_live_blank_search_analyzer"
              }
            }
          },    
          "출원인": {
            "type": "text",
            "analyzer": "jamo_index_analyzer",
            "search_analyzer" : "jamo_search_analyzer",
            "fields": {
              "nori" : {
                "type" : "text",
                "analyzer" : "nori_analyzer"
              },
              "ngram" : {
                "type" : "text",
                "analyzer" : "ngram_analyzer"
              },
              "lblank" : {
                "type" : "text",
                "analyzer" : "jamo_index_analyzer",
                "search_analyzer" : "jamo_live_blank_search_analyzer"
              }
            }
          },
          "CPC분류": {
            "type": "text"    
          },
          "IPC분류": {
            "type": "text"    
          },
          "event": {
            "properties": {
              "original": {
                "type": "text",
                "fields": {
                  "keyword": {
                    "type": "keyword",
                    "ignore_above": 256
                  }
                }
              }
            }
          },
          "log": {
            "properties": {
              "file": {
                "properties": {
                  "path": {
                    "type": "text",
                    "fields": {
                      "keyword": {
                        "type": "keyword",
                        "ignore_above": 256
                      }
                    }
                  }
                }
              }
            }
          },
          "공개번호": {
            "type": "keyword"      
          },
          "공고번호": {
            "type": "keyword"
          },
          "등록번호": {
           "type": "keyword"
          },
          "법적상태": {
            "type": "keyword" 
          },
          "출원번호": {
            "type": "text",
            "fields": {
              "keyword" : {
                "type" : "keyword",
                "ignore_above": "256"
              }
            } 
          },
          "출원일자": {
            "type": "text",
            "analyzer": "number_analyzer",
            "fields": {
              "keyword" : {
                "type" : "keyword",
                "ignore_above" : 256
              }
            }
          }
        }
      }
    }

1. Character Filter

1.1. Pattern Replace Character Filter

정규 표현식을 사용하여 해당 문자들을 특정 문자열로 대체합니다.

pattern replace character filter가 제공하는 옵션은 다음과 같습니다.

  • pattern : 자바 정규 표현식
    표현식의미
    \p{Alpha}문자
    \p{Digit}숫자
    {Blank}space 또는 tab
  • replacement : 대체 문자열
    • special_character_filter: 문자와 숫자를 대체
    • blank_filter: 공백을 대체

2. Tokenizer

2.1. Nori Tokenizer

nori_tokenizer가 제공하는 옵션은 다음과 같습니다.

  • user_dictionary : 사용자 정의 사전

    ⇒ v1에서는 특허 검색 서비스에서 사용자 정의 사전을 설정하기 어렵다고 판단하여 배제하였습니다. 하지만 지속적으로 서치한 결과, 한국특허정보원에서 개발한 언어모델을 통해 600만 건의 용어가 있는 사용자 사전을 얻을 수 있었고 v2부터는 이를 적용하였습니다.

    ⇒ 로컬에서는 사용자 정의 사전을 적용하여도 인덱스 생성에 문제가 없었습니다. 그래서 v3까지 사용자 정의 사전을 적용하여 테스트를 진행했는데, 서비스 배포용 EC2 서버에서는 메모리 GC Overhead 문제로 인해 인덱스 생성에 실패하여 사용자 정의 사전을 적용하지 못했습니다. 이에 따라 v4에서는 사용자 정의 사전을 적용하지 않기로 결정하였습니다.

    Elasticsearch GC Overhead 문제로 사용자 정의 사전 적용 실패

  • decompound_mode : 복합 명사를 토크나이저가 처리하는 방식을 결정

    ⇒ 분리된 복합 명사와 원본 데이터 모두 유지하기 위해 mixed로 설정하였습니다.

3. Token Filter

3.1. nori_part_of_speech

nori_part_of_speech 토큰 필터를 이용해서 제거할 품사(POS - Part Of Speech) 코드입니다.

⇒ “J","E","NNB","MAJ","MM","XSV","XSA","VCP","SE","XSN","VCN","SP","NA","UNA","VSV","XPN","IC","VV"

3.2. ngram

ngram token filter가 제공하는 옵션은 다음과 같습니다.

  • min_gram: 그램의 최소 글자 수
  • max_gram: 그램의 최대 글자 수

4. Analyzer

4.1. nori_analyzer

[발명의명칭], [출원인], [요약] 필드를 멀티 필드로 두고 .nori 필드에 한글 형태소 분석기(Nori)를 적용하였습니다.

4.2. ngram_analyzer

[발명의명칭], [출원인] 필드를 멀티 필드로 두고 .ngram 필드에 커스텀 애널라이저를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자, 공백을 제거하고 standard 토크나이저와 n-gram 필터를 사용합니다.

4.3. sum_ngram_analyzer

[요약] 필드를 멀티 필드로 두고 .ngram 필드에 커스텀 애널라이저를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자를 제거하고 standard 토크나이저와 n-gram 필터를 사용합니다.

4.4. jamo_index_analyzer

[발명의명칭], [요약], [출원인] 필드를 멀티 필드로 두고 .lblank 필드에 커스텀 애널라이저를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자를 제거하고 standard 토크나이저와 jamo 필터를 사용합니다.

4.5. jamo_search_analyzer

jamo_index_analyzer로 색인된 용어들을 잘 찾기 위해 검색 시에 search analyzer를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자, 공백을 제거하고 standard 토크나이저와 jamo 필터를 사용합니다.

4.6. jamo_live_blank_search_analyzer

jamo_index_analyzer로 색인된 용어들을 잘 찾기 위해 검색 시에 search analyzer를 적용하였습니다.

이 커스텀 애널라이저는 캐릭터 필터를 통해 문자, 숫자를 제거하고 standard 토크나이저와 jamo 필터를 사용합니다.

4.7. number_analyzer

[출원일자] 필드의 데이터는 ‘2022.09.21’의 형태를 가집니다.

그 중에서 연도(2022)만 추출하기 위해 패턴 “[.]”을 기준으로 텍스트를 분리하는 패턴 애널라이저를 적용했습니다.

5. 필드에 데이터 타입 매핑

  • [출원번호] : text, keyword
  • [출원일자] : text, keyword
  • [발명의명칭] : text
  • [출원인] text
  • [IPC분류] text
  • [CPC분류] text
  • [공고번호] keyword
  • [공개번호] keyword
  • [등록번호] keyword
  • [법적상태] keyword
  • [요약] text

테스트

🤔 사용자 정의 사전이 없어도 v3 만큼의 검색 결과 정확도를 얻을 수 있는가?

📌 테스트 환경

동일한 데이터 25000 건에서 동일한 검색 키워드를 선정하여 동일한 쿼리를 날렸을 때의 결과를 비교합니다.

📌 테스트 시나리오

  1. 원문 키워드 검색 시 검색 결과를 반환한다.
  2. 띄어쓰기 변화 시에도 검색 결과를 반환한다.
  3. 오타 교정 검색 결과를 반환한다.
  • 원문 키워드 검색

    • 검색한 키워드: 오일저장탱크
    • 예상 반환 결과:
    • 실제 반환 결과: 6095 hits
      {
        "took": 144,
        "timed_out": false,
        "_shards": {
          "total": 1,
          "successful": 1,
          "skipped": 0,
          "failed": 0
        },
        "hits": {
          "total": {
            "value": 6095,
            "relation": "eq"
          },
          "max_score": 36.344376,
          "hits": [
            {
              "_index": "user-dic-ngram",
              "_id": "hthRooMBQdjb45lRFuL1",
              "_score": 36.344376,
              "_source": {
                "요약": "본 고안은 **오일저장탱크**를 갖춘 차량용 브레이크의 마스터실린더에 관한 것으로, 그 목적은 오일감지장치의 플로트가 오일저장탱크의 천정면에 접착되는 것을 방지하는 것이다. 본 고안에 따른 오일저장탱크를 갖춘 차량용 브레이크의 마스터실린더는 오일저장탱크(20) 내에 마련되는 플로트(31)의 상면에 다수개의 돌기(33)를 형성하여 오일의 점성 및 표면장력에 의해 탱크(20)의 천정면에 달라붙는 것을 방지하였다. 따라서 플로트(31)는 항상 오일의 액면상에 떠있게 되어 본 기능을 원활하게 수행하며, 이의 전체적인 신뢰성이 향상되는 이점이 있다.",
                "발명의명칭": "**오일저장탱크**를 갖춘 차량용 브레이크의 마스터실린더()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "yNhQooMBQdjb45lRE4WZ",
              "_score": 20.760996,
              "_source": {
                "요약": "본 발명은 용기(1)와, 용기의 상부 일 측에 파이프에 연결 설치되어 오일이 유입되는 **오일저장탱크**(2)와, 상기 용기(1)의 다른 상부 일 측에 파이프에 연결 설치되며 용기내의 압력을 감압시키는 진공펌프(4)와, 상기 용기(1)의 하부 일 측에 파이프에 연결 설치되어 오존을 용기(1)내에 유입된 오일(7)에 용해시키도록 공급하는 오존발생장치(3)와, 상기 용기(1)내의 하부 다른 일 측에 설치된 배출구(5)와, 용기(1)내의 몸체에 중앙부에 설치된 관찰창(6)과, 용기(1)의 하부에 설치된 진동장치(8)로 구성된 저농도 오존을 함유하는 오일제제 제조장치 및 그 제법. 저농도 오존화 오일제제 제조장치. 저농도 오존화 오일제제 제법. 진공펌프. 오존발생장치. 진동장치.",
                "발명의명칭": "저농도 오존을 함유하는 오일제제 제조장치 및 그 제법(Production method and apparatus for ozonized oil)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "dthQooMBQdjb45lR5s0R",
              "_score": 20.754087,
              "_source": {
                "요약": "본 발명은 음식물 쓰레기 처리장치에 관한 것으로서 그 기술적인 수단은, 본체부(1)의 상부 일측면에 쓰레기 투입구(7)가 설치되고, 상기 본체부(1)의 내측에 형성되는 몸체(13)의 저면에 스크류 컨베이어(11) (11´) (11˝)로 이루어진 분쇄수단(14)이 설치되며, 상기 분쇄수단(14)의 상측에 중공의 회전축(15)에 연결되는 다수의 패들(16)로서 구성되는 교반기(17)가 설치되고, 상기 회전축(15)에 다수의 에어홀(34)이 형성한다. 또한, 상기 몸체(13)의 측면 상, 하에 전동기(18) (19)를 각각 설치하여 그 상측의 전동기(18)를 교반기(17)에 체인(22) 연결하고, 상기 하측의 전동기(19)를 스크류 컨베이어(11) 결합되는 스프로킷(23)에 체인(24) 연결하며, 상기 스크류 컨베이어(11)와 그 일측의 스크류 컨베이어(11´)는 기어 (25) (26) 결합되고, 상기 스크류 컨베이어(11)와 그 타측의 스크류 컨베이어(11˝)는 체인(27) 연결되며, 상기 몸체(13)의 외 측면 하부에 오일 저장탱크(29)를 설치하고, 상기 **오일저장탱크**(29)의 외 측면 저부에 히터장치(30)를 설치하며, 상기 히터장치(30)의 일 측에 송풍기 (31)를 설치하여 회전축(15)에 형성되는 에어 홀(34)에 에어를 공급토록 연결하고, 상기 몸체(13)의 일측에 결로장치(32)를 설치하는 것을 요지로 한다.",
                "발명의명칭": "음식물 쓰레기 처리장치()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "eNhQooMBQdjb45lRiKRq",
              "_score": 20.164345,
              "_source": {
                "요약": "본 발명은, 밸런스 샤프트가 오일 팬에 저장된 오일에 잠겨서 회전되는 것으로 인한 블로바이 증가 및 과다한 오일 배출을 방지할 수 있는 보조 오일 탱크를 가지는 자동차의 오일 팬에 관한 것이다. 오일 팬은, 엔진의 하부에 설치된 밸런스 샤프트와 오일 유면 사이에 일정 차이를 유지하기 위하여, 오일 팬 내에 저장된 오일의 유면을 감지하도록 오일 팬의 한 쪽 측부에 설치되는 오일 레벨 게이지와; 연결관을 통하여 오일 팬에 부족 오일을 공급하도록 오일을 수용하는 보조 오일 탱크와; 연결관에 설치되어, 보조 오일 탱크로부터 오일 팬으로 오일을 공급하도록 오일 레벨 게이지에 의하여 감지된 신호에 따라서 작동되는 솔레노이드 밸브와; 오일 레벨 게이지와 솔레노이드 밸브를 접속하는 피드백 라인을 포함한다.",
                "발명의명칭": "보조오일탱크를가지는자동차의오일팬(OIL FAN OF A VEHICLE HAVING AN AUXILIARY OIL TANK FOR PREVENTING INCREMENT OF BLOW-BY BY SUPPLYING OIL TO THE OIL FAN THROUGH THE AUXILIARY OIL TANK)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "X9hQooMBQdjb45lRiqeK",
              "_score": 18.98133,
              "_source": {
                "요약": "본 고안은 자동차의 엔진 오일 비산 탱크 구조에 관한 것으로서, 보다 상세하게는 비산 탱크와 메인 베어링 캡을 일체로 하여 동시에 조립 및 분해할 수 있도록 함으로써 작업성을 향상시킬 수 있는 자동차의 엔진 오일 비산 탱크 구조에 관한 것이다. 본 고안의 자동차의 엔진 오일 비산 탱크 구조는 커넥팅 로드(5)의 디퍼(3)에 의하여 비산되는 오일을 저장하는 비산 탱크(7)를 각각의 커넥팅 로드(5)의 하부에 배치시키고 각 비산 탱크(7)의 양측에 메인 베어링 캡(9)을 설치하되 이 메인 베어링 캡(9)과 비산 탱크(7)를 일체로 고정시키고, 상기 비산탱크(7)의 저면에 오일이 유입되는 장공(11)을 형성한 것을 특징으로 한다.",
                "발명의명칭": "자동차의 엔진 오일 비산 탱크 구조(TANK STRUCTURE FOR DISPERSING ENGINE OIL)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "ONhQooMBQdjb45lRp63K",
              "_score": 17.853107,
              "_source": {
                "요약": "본 고안은 주유소등 유류저장 시설에 있어서, 배관용 파이프의 관이음 구조에 관한 것으로 더 상세하게는 유류탱크와 배관용 파이프의 관이음 구조체에 관한 것으로, 본 고안의 목적은 가스회수관(1), 송유관(2) 등을 유류저장탱크(T)에 설치함에 있어 용접이음 방법이 아닌 나사식 관이음 구조체를 사용하므로서 이음부분에서 우려되는 부식발생을 최소화하면서 유류저장탱크(T)와 상기 가스회수관(1), 송유관(2)등의 접속을 용이하게 하는데 그 특징이 있는 것인데, 유류저장탱크(T)의 상부측에 관통구(H)를 형성하고 관이음구조체(400)의 커버체(410)의 원통상 몸체를 탱크(T)의 내측에서 외측으로 관통시키어 커버체(410)의 팔각플랜지(410f)가 유류저장탱크(T)의 내측으로 관통구(H)의 가장자리에 걸리도록 하는데 이때 커버체(410)의 8각 플랜지(410f)의 상부면에 밀착되면서 끼워진 하나의 하부측 오링(450')이 유류저장탱크(T)에 형성된 관통구(H)의 저면측 가장자리에 밀착되게 하고 또하나의 상부측오링(450)이 상기 관통구(H)의 표면측 가장자리에 밀착되게 한다. 이와같이 2개의 물결형 오링(450, 450')이 유류저장탱크(T)에 형성된 관통구(H)의 가장자리를 클램핑 하게 되므로 커버체(410)가 유류저장탱크(T)의 관통구(H)에 설치되는 것이며, 상기 물결형 오링(450, 450')의 두께가 일측은 두껍고 일측은 얇게 되어 있는 이유는 일반적으로 유류저장탱크(T) 가 라운딩된 원통상을 하고 있기 때문이다. 따라서 유류저장탱크(T)에 형성된 관통구(H)에 형성된 관통구(H)의 가장자리 형태에 따라 상기 물결형 오링(450, 450')의 형태가 달라질 것이다. 그리고 상부측 물결형 오링(450)의 상부측으로 너트형 조림링(430)을 구루빙 써클(430G) 쪽을 하향하여 커버체(410)의 몸통 외주면에 형성된 너트부(410N)에 치합시켜 조립하여 그루빙써클(430G)이 상부측 물결형오링(450)의 돌출링(450L)에 끼워지면서 조림링(430)이 상부측 물결형오링(450)을 밀착하면서 조이게 되면 커버체(410)가 유류저장탱크(T)의 관통구(H)에 설치되는 것이다. 이와같이 커버체(410)가 유류저장탱크(T)의 관통구(H)에 설치한후, 파이프소켓(420)의 송유관삽입구(422)와 가스회수관삽입구(421)에 각각 송유관(2)과 가스회수관(1)을 끼워 조립한 후 파이프소켓(420)을 플랜지(420f)가 상부측으로 하여 커버체(410)의 내측공간에 삽입하며 파이프소켓(420)의 플랜지(420f)가 커버체(410)의 상단부에 걸리게하여 설치하고, 너트형 커버캡(440)을 커버체(410) 상부측에서 커버체(410)의 너트부(410N)에 치합 조립하면 송유관(2)과 가스회수관(1)을 끼운 파이프소켓(420)이 커버체(410)와 너트형커버캡(440)에 의해 고정 조립되는 것임.",
                "발명의명칭": "유류저장 탱크에 있어서 관이음 구조체()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "bthQooMBQdjb45lRqq4P",
              "_score": 16.867306,
              "_source": {
                "요약": "본 고안은 전자렌지의 가습장치에 관한 것으로서 종래에는 조리물이 딱딱해지는 것을 방지하기 위한 별도의 기능을 가진 가습장치가 부설되어 있지 않고 분무기를 이용하여 조리시에 조리물에 수분을 공급하여 사용하였는데 이는 사용자에게 수작업을 요하기 때문에 불편한 문제점이 발생하였다. 따라서 본 고안은 조리실 상부에 위치한 저장탱크와, 상기 저장탱크의 일측에 위치하여 끝단에는 피스톤이 부설되고 구동모터의 구동으로 전후왕복 운동하는 랙크와, 상기 저장탱크의 타측에 위치한 노즐에 볼부재를 삽입 위치시켜 조리물에 적당량의 수분을 분무할 수 있도록 구성된 고안인 것이다.",
                "발명의명칭": "전자렌지의 가습장치()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "e9hQooMBQdjb45lRsrBb",
              "_score": 15.895706,
              "_source": {
                "요약": "본 발명은 브레이크 오일부족 방지장치에 관한 것으로, 오일을 공급하거나 저장하는 브레이크 리저버 탱크(30)와, 상기 브레이크 리저버 탱크(30)에 오일이 부족한 상태를 운전자가 파악할 수 있도록 하는 경고수단(40)과, 상기 브레이크 리저버 탱크(30)와 클러치 마스터 실린더(20)가 통할 수 있도록 연결시키는 호스1, 2와 연결되는 밸브(70)를 포함하여 구성되는 것을 특징으로 하며, 브레이크 오일이 부족한 것을 브레이크 리저버 탱크(30) 내의 접점에 의해 전기적 신호가 표시등(45)으로 인가되어 운전자가 파악을 할 수 있게 되어 브레이크 오일의 부족으로 인한 대형사고를 미연에 방지할 수 있는 효과를 가져온다.",
                "발명의명칭": "브레이크 오일부족 방지장치(Brake oil shirtage protection device)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "NdhQooMBQdjb45lRsa_3",
              "_score": 15.780823,
              "_source": {
                "요약": "본 발명은 엔진의 윤활 장치에 관한 것으로서, 실린더 헤드에 마련된 보조오일탱크(1)와, 오일펌프(2)로부터 상기 보조오일탱크(1)로 오일이 제공되는 방향의 유로를 개방하는 체크밸브(3)와, 엔진의 작동상태를 감지하는 운전감지수단과, 상기 운전감지수단이 제공하는 신호에 따라 상기 보조오일탱크(1)로부터 윤활부위로 향하는 유로(7)를 단속하는 유로단속수단으로 구성된 엔진의 윤활장치를 제공하여, 엔진의 시동초기에 오일펌프(2)로부터의 압송 오일이 각 윤활부에 도달하기까지 지연되는 시간동안 상기 보조오일탱크(1)의 오일이 우선적으로 제공되어 윤활작용을 수행하도록 함으로써, 시동초기에도 엔진 각 부위의 원활한 윤활작용을 확보할 수 있어 엔진의 내구성을 크게 향상시키도록 할 수 있다.",
                "발명의명칭": "엔진의 윤활구조(LUBRICATION STRUCTURE OF AN ENGINE)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "FthQooMBQdjb45lRz8Hp",
              "_score": 15.675247,
              "_source": {
                "요약": "본 발명은 정수기의 수위센서 오동작 방지방법에 관한 것으로서, 더욱 구체적으로는 정수기의 저장탱크에서 콕크를 통하여 정수를 빼낼 때 저장탱크 내부의 기압차에 의하여 발생되는 수위에 기인한 수위센서의 오동작을 감지하여 정상적으로 수위를 제어하는 정수기의 수위센서 오동작 방지방법에 관한 것이다. 본 발명의 정수기의 수위센서 오동작 방지방법은, 여과된 정수를 저장하며 외부와 밀폐된 저장탱크(2)의 수위를 측정하기 위하여 하부가 연통되고 저장탱크(2)의 측면에 위치하며 수위를 감지하기 위한 리드스위치(102,104.106,108)가 설치된 수위센서부(10)를 포함하는 정수기에 있어서, 수위센서부(10)를 통하여 미리 측정된 실제저장데이타(k)를 저장하고 현재측정데이타(k+1)를 지속적으로 측정하는 제1단계; 실제저장데이타(k)와 현재측정데이타(k+1)를 비교하는 제2단계; 비교결과 실제저장데이타(k)와 현재측정데이타(k+1)가 동일값을 가지면 정상상태로 인식하며 동일값이 아니면 소정시간동안 측정을 지연시키는 제3단계; 및 소정시간이 경과하는 동안에 실제저장데이타(k)와 현재측정데이타(k+1)가 동일값을 가지면 정상상태로 인식하고 현재측정데이타(k+1)를 새로운 실제저장데이타로 설정하며 동일값이 아니면 동일값에 도달할 때 까지 수위단계별로 보정을 수행하는 제4단계로 구성됨을 특징으로 한다.",
                "발명의명칭": "정수기의 수위센서 오동작 방지방법(FLOATING-SENSOR MALFUNCTION PREVENTION METHOD FOR WATER PURIFIER)"
              }
            }
          ]
        }
      }
  • 띄어쓰기 변화 검색
    • 검색한 키워드: 오일 저장 탱크
    • 예상 반환 결과:
    • 실제 반환 결과: 6399 hits
      {
        "took": 57,
        "timed_out": false,
        "_shards": {
          "total": 1,
          "successful": 1,
          "skipped": 0,
          "failed": 0
        },
        "hits": {
          "total": {
            "value": 6399,
            "relation": "eq"
          },
          "max_score": 36.344376,
          "hits": [
            {
              "_index": "user-dic-ngram",
              "_id": "hthRooMBQdjb45lRFuL1",
              "_score": 36.344376,
              "_source": {
                "요약": "본 고안은 **오일저장탱크**를 갖춘 차량용 브레이크의 마스터실린더에 관한 것으로, 그 목적은 오일감지장치의 플로트가 오일저장탱크의 천정면에 접착되는 것을 방지하는 것이다. 본 고안에 따른 오일저장탱크를 갖춘 차량용 브레이크의 마스터실린더는 오일저장탱크(20) 내에 마련되는 플로트(31)의 상면에 다수개의 돌기(33)를 형성하여 오일의 점성 및 표면장력에 의해 탱크(20)의 천정면에 달라붙는 것을 방지하였다. 따라서 플로트(31)는 항상 오일의 액면상에 떠있게 되어 본 기능을 원활하게 수행하며, 이의 전체적인 신뢰성이 향상되는 이점이 있다.",
                "발명의명칭": "**오일저장탱크**를 갖춘 차량용 브레이크의 마스터실린더()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "X9hQooMBQdjb45lRiqeK",
              "_score": 36.26282,
              "_source": {
                "요약": "본 고안은 자동차의 엔진 오일 비산 탱크 구조에 관한 것으로서, 보다 상세하게는 비산 탱크와 메인 베어링 캡을 일체로 하여 동시에 조립 및 분해할 수 있도록 함으로써 작업성을 향상시킬 수 있는 자동차의 엔진 오일 비산 탱크 구조에 관한 것이다. 본 고안의 자동차의 엔진 오일 비산 탱크 구조는 커넥팅 로드(5)의 디퍼(3)에 의하여 비산되는 오일을 저장하는 비산 탱크(7)를 각각의 커넥팅 로드(5)의 하부에 배치시키고 각 비산 탱크(7)의 양측에 메인 베어링 캡(9)을 설치하되 이 메인 베어링 캡(9)과 비산 탱크(7)를 일체로 고정시키고, 상기 비산탱크(7)의 저면에 오일이 유입되는 장공(11)을 형성한 것을 특징으로 한다.",
                "발명의명칭": "자동차의 엔진 오일 비산 탱크 구조(TANK STRUCTURE FOR DISPERSING ENGINE OIL)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "eNhQooMBQdjb45lRiKRq",
              "_score": 30.079277,
              "_source": {
                "요약": "본 발명은, 밸런스 샤프트가 오일 팬에 저장된 오일에 잠겨서 회전되는 것으로 인한 블로바이 증가 및 과다한 오일 배출을 방지할 수 있는 보조 오일 탱크를 가지는 자동차의 오일 팬에 관한 것이다. 오일 팬은, 엔진의 하부에 설치된 밸런스 샤프트와 오일 유면 사이에 일정 차이를 유지하기 위하여, 오일 팬 내에 저장된 오일의 유면을 감지하도록 오일 팬의 한 쪽 측부에 설치되는 오일 레벨 게이지와; 연결관을 통하여 오일 팬에 부족 오일을 공급하도록 오일을 수용하는 보조 오일 탱크와; 연결관에 설치되어, 보조 오일 탱크로부터 오일 팬으로 오일을 공급하도록 오일 레벨 게이지에 의하여 감지된 신호에 따라서 작동되는 솔레노이드 밸브와; 오일 레벨 게이지와 솔레노이드 밸브를 접속하는 피드백 라인을 포함한다.",
                "발명의명칭": "보조오일탱크를가지는자동차의오일팬(OIL FAN OF A VEHICLE HAVING AN AUXILIARY OIL TANK FOR PREVENTING INCREMENT OF BLOW-BY BY SUPPLYING OIL TO THE OIL FAN THROUGH THE AUXILIARY OIL TANK)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "A9hQooMBQdjb45lRy7_k",
              "_score": 30.037743,
              "_source": {
                "요약": "본 발명은 증기압 및 수분흡수성이 높은 용액을 저장하는 저장 탱크 및 밀봉 탱크에 관한 것으로, 더욱 상세히는 저장 탱크외에 밀봉 탱크 A와 B내에 수분흡수성이 높은 용액을 넣은 밀봉 탱크를 장치함으로서, 저장 탱크내의 압력이 증가할 경우 연결관(N-1,N-2)을 통하여 밀봉 탱크 A 및 B에 증기가 이송되고 다시 이송된 증기는 통기구(N-3,N-4)를 통하여 대기로 방출되며, 저장 탱크내의 압력이 감소할 경우 대기의 공기가 연결관(N-3,N-4)를 통해 밀봉 탱크 A, B를 거쳐 수분을 제거시킨 후 연결관(N-1,N-2)를 통하여 수분이 거의 함유되지 않은 공기가 저장 탱크로 연속적으로 이송됨으로서, 저장 탱크내의 일정한 압력을 유지하고 수분흡수성이 높은 용액을 안정하게 보관할 수 있는 저장 탱크 시스템에 관한 것이다. 또한 이때 운전압력 범위에 따라 딥파이프(Dip Pipe)의 길이를 조절할 수 있으며 (N-1,N-2), (N-3,N-4)는 운전압력에 따라 순차적으로 열려 탱크내의 압력을 유지시킬 수 있도록 되어 있다.",
                "발명의명칭": "증기압 및 수분흡수성이 높은 용액의 저장 시스템(A SOLUTION STORAGE SYSTEM FOR HIHG STEAM PRESSURE AND HYGROSCOPIC SOLUTION)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "uthQooMBQdjb45lRt7MR",
              "_score": 26.775936,
              "_source": {
                "요약": "본 고안은 차량의 파워 스티어링 오일부족 경고장치에 관한 것으로, 파워 스티어링 펌프(10), 리저버 탱크(20), 파워 스티어링 기어박스(40)가 구비된 파워 스티어링 시스템에 있어, 리저버 탱크(20)에 오일감지센서(70)를 부착하여 오일의 레벨을 상시 감지하도록 하고, 오일감지센서(70)를 E.C.U(80)의 입력단에 연결하여 감지신호를 인가함과 동시에 E.C.U(80)로부터 사전설정된 기준값과 현재의 감지된 측정값을 비교하도록 하며, 또한 미터 세트(90)의 일측에 파워 스티어링 오일 레벨을 표시할 수 있는 오일계(91)를 구비하고, 오일계(91)를 E.C.U(80)의 출력단에 연결하여 오일의 양을 확인할 수 있도록 하며, E.C.U(80)의 다른 출력단에는 경고수단(100)을 연결하여 오일부족시 경고할 수 있도록 한 것인 바, 오일부족시 이를 경고함과 동시에 운전자로 하여금 오일 레벨을 항시 적정상태로 보충, 유지하도록 할 수 있는 것은 물론 파워 스티어링 시스템의 성능을 최상을 유지할 수 있고, 또한 항시 파워 스티어링 오일의 양을 확인할 수 있어 스티어링이 시스템의 고장을 예방할 수 있도록 된 것이다.",
                "발명의명칭": "차량의 파워 스티어링 오일부족 경고장치()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "g9hQooMBQdjb45lR2sXT",
              "_score": 26.18729,
              "_source": {
                "요약": "본 고안은 오일 주입장비의 노즐에 관한 것으로, 탱크(100)내부의 공기를 빼내기 위한 진공밸브(20)가 설치된 진공라인(21)과, 오일을 주입하기 위한 주입밸브(30)가 설치된 주입라인(31)으로 구성되어 있는 오일 주입장비의 노즐(10)에 있어서, 상기 진공라인(21)과 상기 주입라인(31)이 서로 소정의 단차가 져있되, 상기 진공라인(21)이 상기 주입라인(31)에 비해 상대적으로 길이가 짧은 구조로 되어, 탱크에 오일을 주입하기 위한 노즐에 갖춰져 있는 진공라인과 주입라인이 서로 간섭되지 않게 되어 진공작업 및 주입작업은 물론 탑오프작업을 정확히 수행할 수 있게 되고, 또한 상기 진공라인에 오일이 묻지 않게 되어 진공펌프로 오일이 유입되는 것을 방지함으로써, 진공도를 항상 일정하게 유지할 수 있는 효과가 있다.",
                "발명의명칭": "오일 주입장비의 노즐()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "e9hQooMBQdjb45lRsrBb",
              "_score": 25.00283,
              "_source": {
                "요약": "본 발명은 브레이크 오일부족 방지장치에 관한 것으로, 오일을 공급하거나 저장하는 브레이크 리저버 탱크(30)와, 상기 브레이크 리저버 탱크(30)에 오일이 부족한 상태를 운전자가 파악할 수 있도록 하는 경고수단(40)과, 상기 브레이크 리저버 탱크(30)와 클러치 마스터 실린더(20)가 통할 수 있도록 연결시키는 호스1, 2와 연결되는 밸브(70)를 포함하여 구성되는 것을 특징으로 하며, 브레이크 오일이 부족한 것을 브레이크 리저버 탱크(30) 내의 접점에 의해 전기적 신호가 표시등(45)으로 인가되어 운전자가 파악을 할 수 있게 되어 브레이크 오일의 부족으로 인한 대형사고를 미연에 방지할 수 있는 효과를 가져온다.",
                "발명의명칭": "브레이크 오일부족 방지장치(Brake oil shirtage protection device)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "ldhQooMBQdjb45lRe6L9",
              "_score": 24.656528,
              "_source": {
                "요약": "본 고안은 샤프트의 선단부에 장착 회전되어 원심력을 발생하는 임펠러와 오일을 저장 공급하기 위한 오일러와 상기 샤프트의 회전 운동을 보조하는 베어링을 부착하여 상기 오일러로부터 공급되는 오일을 유입하기 위한 베어링 하우스등을 포함하여 이루어지는 원심 펌프의 베어링 오일 공급 구조에 관한 것으로, 내부의 기압을 조정하기 위한 공기 구멍을 내며, 압력에 따라 오일을 주입 또는 차단하기 위한 받침판을 하부에 부착하고, 내부의 대기압이 증가하면 압력에 의한 오일 누출을 제어하여 오일의 불필요한 유출을 방지하는 받침판과, 상기 받침판의 하부에 부착되어 압력에 따라 연동하여 수축 또는 팽창되는 스프링과, 상기 스프링을 하부에서 지지하는 지지봉과, 상기 스프링과 지지봉의 작동에 연동하여 상승 또는 하강되는 공기 주머니를 갖는 오일러를 구비하여 이루어지기 때문에 구조가 간단해지며 오일의 누유를 방지할 수 있을 뿐만 아니라 분해 조립이 용이하게 되기 때문에 오일 보충을 간단하게 실시할 수 있는 효과가 있다.",
                "발명의명칭": "원심펌프의 베어링 오일 공급구조()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "CthQooMBQdjb45lRiKQR",
              "_score": 24.061008,
              "_source": {
                "요약": "본 발명은 회전시 발생하는 오일 누출분을 보충하는 동압유체 축수의 오일 저장장치에 관한 것이다. 본 발명에 따른 동압유체 축수의 오일 저장장치는 모터의 구동력으로 회전하는 회전자부와, 회전자부에 형성되어 회전자부의 회전에 따른 압력변화에 오일이 공급되는 제 1그루브와, 제 1그루브의 양단에 위치하여 제 1그루브에서 오일의 증발 및 누출에 따라 오일이 공급되도록 하는 제 2그루브를 구비한다. 이러한 구성에 의하여, 본 발명의 동압유체 축수의 오일 저장장치는 오일 누설에 의해 발생하는 축수 수명을 연장시키고 소형화, 박형화될 수 있다.",
                "발명의명칭": "동압유체 축수의 오일 저장장치(OIL STORAGE APPARATUS OF A FLUID DYNAMIC BEARING FOR EXTENDING LIFE TIME OF THE BEARING BY FORMING FIRST AND SECOND GROOVES)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "nNhQooMBQdjb45lRwbfJ",
              "_score": 23.593327,
              "_source": {
                "요약": "차량에 사용되는 오일 스트레이너의 재질 및 제작공정을 변경하여 상기 오일 스트레이너의 제품단가를 낮추고 제품의 경량화를 도모하는 오일 스트레이너에 관한 것이다. 상기 차량의 오일 스트레이너는 오일이 유동하는 제1구멍의 양측면에 나사가 관통하는 제2구멍을 갖는 플랜지와, 상기 제1구멍에 연장되며 하단면이 개구된 내부 공간을 갖는 직육면체의 상부 하우징과, 상기 상부 하우징과 결합되며 상단면이 개구된 내부 공간과 하단면의 일부가 개구된 직육면체의 하부 하우징과, 상기 상부 하우징과 하부 하우징의 내부에 결합되는 내부 공간을 갖는 직육면체의 오일 여과망을 포함하여 구성한다. 상기 차량의 오일 스트레이너는 종래의 오일 스트레이너를 제작하는데 있어서 복잡한 공정을 개선함으로써 제품단가를 낮출 수 있으며 상기 오일 스트레이너의 무게를 낮추어 제품의 경량화를 도모할 수 있는 효과가 있다.",
                "발명의명칭": "차량의 오일 스트레이너()"
              }
            }
          ]
        }
      }
  • 오타 교정 검색
    • 검색한 키워드: 어일저장탱크
    • 예상 반환 결과:
    • 실제 반환 결과: 5456 hits
      {
        "took": 30,
        "timed_out": false,
        "_shards": {
          "total": 1,
          "successful": 1,
          "skipped": 0,
          "failed": 0
        },
        "hits": {
          "total": {
            "value": 5456,
            "relation": "eq"
          },
          "max_score": 29.355354,
          "hits": [
            {
              "_index": "user-dic-ngram",
              "_id": "hthRooMBQdjb45lRFuL1",
              "_score": 29.355354,
              "_source": {
                "요약": "본 고안은 **오일저장탱크**를 갖춘 차량용 브레이크의 마스터실린더에 관한 것으로, 그 목적은 오일감지장치의 플로트가 오일저장탱크의 천정면에 접착되는 것을 방지하는 것이다. 본 고안에 따른 오일저장탱크를 갖춘 차량용 브레이크의 마스터실린더는 오일저장탱크(20) 내에 마련되는 플로트(31)의 상면에 다수개의 돌기(33)를 형성하여 오일의 점성 및 표면장력에 의해 탱크(20)의 천정면에 달라붙는 것을 방지하였다. 따라서 플로트(31)는 항상 오일의 액면상에 떠있게 되어 본 기능을 원활하게 수행하며, 이의 전체적인 신뢰성이 향상되는 이점이 있다.",
                "발명의명칭": "**오일저장탱크**를 갖춘 차량용 브레이크의 마스터실린더()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "yNhQooMBQdjb45lRE4WZ",
              "_score": 19.633049,
              "_source": {
                "요약": "본 발명은 용기(1)와, 용기의 상부 일 측에 파이프에 연결 설치되어 오일이 유입되는 **오일저장탱크**(2)와, 상기 용기(1)의 다른 상부 일 측에 파이프에 연결 설치되며 용기내의 압력을 감압시키는 진공펌프(4)와, 상기 용기(1)의 하부 일 측에 파이프에 연결 설치되어 오존을 용기(1)내에 유입된 오일(7)에 용해시키도록 공급하는 오존발생장치(3)와, 상기 용기(1)내의 하부 다른 일 측에 설치된 배출구(5)와, 용기(1)내의 몸체에 중앙부에 설치된 관찰창(6)과, 용기(1)의 하부에 설치된 진동장치(8)로 구성된 저농도 오존을 함유하는 오일제제 제조장치 및 그 제법. 저농도 오존화 오일제제 제조장치. 저농도 오존화 오일제제 제법. 진공펌프. 오존발생장치. 진동장치.",
                "발명의명칭": "저농도 오존을 함유하는 오일제제 제조장치 및 그 제법(Production method and apparatus for ozonized oil)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "dthQooMBQdjb45lR5s0R",
              "_score": 18.078995,
              "_source": {
                "요약": "본 발명은 음식물 쓰레기 처리장치에 관한 것으로서 그 기술적인 수단은, 본체부(1)의 상부 일측면에 쓰레기 투입구(7)가 설치되고, 상기 본체부(1)의 내측에 형성되는 몸체(13)의 저면에 스크류 컨베이어(11) (11´) (11˝)로 이루어진 분쇄수단(14)이 설치되며, 상기 분쇄수단(14)의 상측에 중공의 회전축(15)에 연결되는 다수의 패들(16)로서 구성되는 교반기(17)가 설치되고, 상기 회전축(15)에 다수의 에어홀(34)이 형성한다. 또한, 상기 몸체(13)의 측면 상, 하에 전동기(18) (19)를 각각 설치하여 그 상측의 전동기(18)를 교반기(17)에 체인(22) 연결하고, 상기 하측의 전동기(19)를 스크류 컨베이어(11) 결합되는 스프로킷(23)에 체인(24) 연결하며, 상기 스크류 컨베이어(11)와 그 일측의 스크류 컨베이어(11´)는 기어 (25) (26) 결합되고, 상기 스크류 컨베이어(11)와 그 타측의 스크류 컨베이어(11˝)는 체인(27) 연결되며, 상기 몸체(13)의 외 측면 하부에 오일 저장탱크(29)를 설치하고, 상기 **오일저장탱크**(29)의 외 측면 저부에 히터장치(30)를 설치하며, 상기 히터장치(30)의 일 측에 송풍기 (31)를 설치하여 회전축(15)에 형성되는 에어 홀(34)에 에어를 공급토록 연결하고, 상기 몸체(13)의 일측에 결로장치(32)를 설치하는 것을 요지로 한다.",
                "발명의명칭": "음식물 쓰레기 처리장치()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "ONhQooMBQdjb45lRp63K",
              "_score": 15.053638,
              "_source": {
                "요약": "본 고안은 주유소등 유류저장 시설에 있어서, 배관용 파이프의 관이음 구조에 관한 것으로 더 상세하게는 유류탱크와 배관용 파이프의 관이음 구조체에 관한 것으로, 본 고안의 목적은 가스회수관(1), 송유관(2) 등을 유류저장탱크(T)에 설치함에 있어 용접이음 방법이 아닌 나사식 관이음 구조체를 사용하므로서 이음부분에서 우려되는 부식발생을 최소화하면서 유류저장탱크(T)와 상기 가스회수관(1), 송유관(2)등의 접속을 용이하게 하는데 그 특징이 있는 것인데, 유류저장탱크(T)의 상부측에 관통구(H)를 형성하고 관이음구조체(400)의 커버체(410)의 원통상 몸체를 탱크(T)의 내측에서 외측으로 관통시키어 커버체(410)의 팔각플랜지(410f)가 유류저장탱크(T)의 내측으로 관통구(H)의 가장자리에 걸리도록 하는데 이때 커버체(410)의 8각 플랜지(410f)의 상부면에 밀착되면서 끼워진 하나의 하부측 오링(450')이 유류저장탱크(T)에 형성된 관통구(H)의 저면측 가장자리에 밀착되게 하고 또하나의 상부측오링(450)이 상기 관통구(H)의 표면측 가장자리에 밀착되게 한다. 이와같이 2개의 물결형 오링(450, 450')이 유류저장탱크(T)에 형성된 관통구(H)의 가장자리를 클램핑 하게 되므로 커버체(410)가 유류저장탱크(T)의 관통구(H)에 설치되는 것이며, 상기 물결형 오링(450, 450')의 두께가 일측은 두껍고 일측은 얇게 되어 있는 이유는 일반적으로 유류저장탱크(T) 가 라운딩된 원통상을 하고 있기 때문이다. 따라서 유류저장탱크(T)에 형성된 관통구(H)에 형성된 관통구(H)의 가장자리 형태에 따라 상기 물결형 오링(450, 450')의 형태가 달라질 것이다. 그리고 상부측 물결형 오링(450)의 상부측으로 너트형 조림링(430)을 구루빙 써클(430G) 쪽을 하향하여 커버체(410)의 몸통 외주면에 형성된 너트부(410N)에 치합시켜 조립하여 그루빙써클(430G)이 상부측 물결형오링(450)의 돌출링(450L)에 끼워지면서 조림링(430)이 상부측 물결형오링(450)을 밀착하면서 조이게 되면 커버체(410)가 유류저장탱크(T)의 관통구(H)에 설치되는 것이다. 이와같이 커버체(410)가 유류저장탱크(T)의 관통구(H)에 설치한후, 파이프소켓(420)의 송유관삽입구(422)와 가스회수관삽입구(421)에 각각 송유관(2)과 가스회수관(1)을 끼워 조립한 후 파이프소켓(420)을 플랜지(420f)가 상부측으로 하여 커버체(410)의 내측공간에 삽입하며 파이프소켓(420)의 플랜지(420f)가 커버체(410)의 상단부에 걸리게하여 설치하고, 너트형 커버캡(440)을 커버체(410) 상부측에서 커버체(410)의 너트부(410N)에 치합 조립하면 송유관(2)과 가스회수관(1)을 끼운 파이프소켓(420)이 커버체(410)와 너트형커버캡(440)에 의해 고정 조립되는 것임.",
                "발명의명칭": "유류저장 탱크에 있어서 관이음 구조체()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "V9hQooMBQdjb45lRd583",
              "_score": 15.053638,
              "_source": {
                "요약": "[청구범위에 기재된 발명이 속한 기술분야] 본 발명은 액화연료 저장탱크 내의 유입노즐에 관한 것으로, 저장탱크에서의 물성치가 다른 액화연료간의 혼합을 활성케하는 유입노즐에 관한 것이다. [발명이 해결하려고 하는 기술적 과제] 종래 형상의 노즐로서는 유압가스에 의한 난동효과가 적어 가스간의 혼합이 용이하지 않게 되고 롤-오버 현상 및 성층현상을 일으키게 되어 이때 야기되는 발생열량이 저장탱크의 설계압력이상으로 작용하는 문제점이 있음. [발명의 해결방법의 요지] 유입노즐의 출구를 2개로 나누어 상향노즐과 부가노즐의 중심축이 이루는 각도를 수평방향으로 엇각이 되도록 구성한 본 발명에 의해 해결됨. [발명의 중요한 용도] 탱크내부의 잔존가스에, 유입되는 새로운 가스와의 효율적인 혼합작용을 발생시켜 혼합불량으로 인한 각종 현상을 미리 방지할 수 있는 효과가 있음.",
                "발명의명칭": "액화연료 저장탱크 내의 유압노즐(DRAW IN NOZZLE IN LIQUID FUEL TANK)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "6dhQooMBQdjb45lRoKvU",
              "_score": 15.053638,
              "_source": {
                "요약": "본 발명은 그 내부에 채워지는 화공액체의 누수와 그 화공액체들로 인한 구조물 내부의 부식을 효율적으로 방지하면서도 그 내부에 채워지는 화공액체의 하중을 충분히 감당하는 화공액체용 저장탱크에 관한 것으로, 강도가 매우 높은 것으로 알려진 F.R.P와 화학적 안정성이 탁월한 것으로 알려진 폴리에틸렌수지를 복합적으로 접착시켜서 화학적인 안정성이 확보되어서 내부식성이 크게 향상되면서도 강도도 우수해지도록 하기 위하여, 그 기술을 바닥에 놓여지는 바닥판부(10)와, 상기 바닥판부에 그 하단부가 고정되어서 그 내부가 비는 통체의 형상으로 세워지는 F.R.P통체부(20)와, 상기 통체부의 상부를 덮는 상판부(30)로 구성되는 것에 있어서, 상기 F.R.P통체부(20)는 F.R.P로 제작되는 F.R.P통부(21)의 내벽면에 내벽폴리에틸렌시이트(22)를 일체로 접착시키며, 상기 바닥판부(10)의 상면에는 상면폴리에틸렌시이트(22)를 일체로 접착시키켜서 제작되는 것으로 구성한 것이다.",
                "발명의명칭": "화공액체용 저장탱크(LIQUID STORAGE TANK)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "P9hQooMBQdjb45lR79Dg",
              "_score": 15.053638,
              "_source": {
                "요약": "본 발명은 태양열 난방장치의 집열기로부터 태양열을 흡수한 열전달유체의 열을 저장하는 열저장탱크에서 효과적으로 열을 발열 시스템으로 방출하도록 하는 효과적으로 열을 저장하고 열저장탱크의 열교환 시스템 구조에 관한 것으로, 본 발명의 목적은 열저장탱크의 열교환 시스템 구조를 변경하여 열전달유체(L)와 물(W)사이의 열교환을 3단계로 나누어 단계적으로 열교환이 일어나도록 하므로서 열교환 능률을 배가하도록 하는데 있다. 본 발명에 따른 열교환시스템 구조를 갖는 열저장탱크는 태양열 난방장치의 열저장탱크에 있어서, 통 형태의 열저장탱크(2)내부를 2개의 경판(21,21')에 의하여 구획을 지어 1차열교환공간(S1), 2차열교환공간(S2), 3차열교환공간(S3),을 형성하도록 하고 물(W)이 흐르는 수로관부(200)와 열전달유체(L)가 흐르는 열전달유체 유입파이프(IP)와 열전달유체 유출파이프(OP)를 형성시키는데 수로관부(200)는 1차열교환공간(S1)과 급수원을 연결하는 냉수유입파이프(200C)와 2차열교환공간(S2)에 코일상으로 절곡되어 형성되고, 그 일측단부가 경판(21)을 관통하여 1차열교환공간(S1)의 상부측에 형성되도록 하고 타단부는 경판(21')을 관통하여 3차열교환공간(S3)의 하부측에 형성되도록 한 열교환파이프(200E), 그리고 방열시스템과 연결되어 열저장탱크(2)의 일측면을 관통하여 1차열교환공간(S1), 2차열교환공간(S2)을 차례로 거쳐 3차열교환공간의 상부측에 그 자유단부가 형성되도록 한 온수유출파이프(200H)로 구성되고, 열전달유체 유입파이프(IP)와 열전달유체 유출파이프(OP)는 각각 대향하여 그 자유단부가 2차열교환공간에 형성되도록 하고 각각의 타단부는 집열기에 연결되도록 한 것이다.",
                "발명의명칭": "태양열 난방장치에 있어 열저장탱크의 열교환시스템구조(HEAT EXCHANGE SYSTEM STRUCTURE)"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "qdhQooMBQdjb45lRWZe-",
              "_score": 15.053638,
              "_source": {
                "요약": "본 고안은 급격한 열팽창 및 수축에 의한 피로 하중을 효과적으로 방지할 수 있는 태양열 온수기용 온수 저장 탱크에 관한 것으로, 온수 저장 탱크의 동체의 원주 방향으로 형성되는 적어도 하나 이상의 비이드부를 구비함으로써, 열팽창, 열수축에 따른 내압 및 응력 증가를 비이드의 변형 에너지화하여 피로에 의한 용접 부위 등의 손상 또는 파손을 효과적으로 방지함과 동시에, 팽창 탱크를 온수 저장탱크를 이루는 단열재 내부에 설치함으로써 팽창 탱크를 통한 열손실을 최소화 함과 동시에 태양열 온수기 현장 설치시의 번잡한 배관 작업을 경감시킴으로써 태양열 온수기 전체의 설치 비용을 절감되고, 또한 팽창 탱크가 배관상에 돌출되지 않음으로 인해 외관을 미려하게 할 수 있게 된다.",
                "발명의명칭": "태양열온수기용온수저장탱크()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "xNhQooMBQdjb45lRaZs_",
              "_score": 15.053638,
              "_source": {
                "요약": "본 고안은 철강 코일 탈지설비 또는 이와 유사한 설비에 사용되는 탈지용액을 보관하여 사용하는 탈지용액 저장탱크 내부의 탈지 슬러지를 제거하기 위해 사용되는 탈지 슬러지 제거장치가 부착된 탈지용액 저장탱크에 관한 것으로, 탈지용액 공급펌프와 탈지용액 회수관이 부착되고, 양측면에 맨홀이 설치된 탈지용액 저장탱크를 슬러지가 탈지용액 저장탱크 저부의 중심부에 모일 수 있도록 바닥면을 "V"자 형상으로 형성하고, 중앙에 슬러지 분리막을 설치하여 작업탱크와 클린탱크로 구분한후, 구동력을 전달하기 위한 모터와, 원통형의 파이프 상부를 절단하여 탈지 슬러지를 내부에 모을수 있게 형성하여 구성된 슬러지 이동로와, 상기 모터에 연결된 상태에서 상기 슬러지 이동로에 삽입되는 스크루축과, 상기 슬러지 이동로에 연결되어 이동된 슬러지를 외부로 배출하는 슬러지 배출관과, 상기 슬러지 배출관의 하부에 위치하여 배출되는 슬러지를 수용하는 슬러지박스로 구성된 탈지 슬러지 제거장치를 각각의 작업탱크와 클린탱크의 저면에 부착하여 구성되어, 탈지용액의 과도한 소모를 방지하고 작업인력의 낭비를 방지할 수 있는 효과가 있다.",
                "발명의명칭": "탈지 슬러지 제거장치가 부착된 탈지용액 저장탱크()"
              }
            },
            {
              "_index": "user-dic-ngram",
              "_id": "0thQooMBQdjb45lR5csx",
              "_score": 13.974718,
              "_source": {
                "요약": "본 고안은 가습기에 관한 것으로서, 본체 케이스내에 살균 및 정수작용을 하는 필터부재를 내설하여 가습용수에 포함된 각종 불순물과 세균 등을 제거함으로써 사용자의 건강을 보호할 수 있는 살균·정수필터가 내장된 가습기를 제공함에 그 목적이 있다. 이를 위해 본 고안은 가습용수가 저장되는 물탱크와, 물탱크가 안착되는 본체 케이스와, 물탱크내로부터 유입된 가습용수가 저장되도록 본체 케이스의 일측에 형성된 수조를 구비하는 가습기에 있어서, 물탱크내의 가습용수가 살균 및 정수되어 상기 수조내로 유입되도록 상기 본체 케이스의 일측에 필터부재가 마련되어 구성된다.",
                "발명의명칭": "살균.정수필터가 내장된 가습기()"
              }
            }
          ]
        }
      }

결론

사용자 정의 사전을 적용하지 않은 결과, 반환 되는 개수(hit)가 크게 증가하는 것을 알 수 있었습니다. 개수 차이는 있지만, 사용자 정의 사전을 적용한 v3 만큼의 검색 결과 정확도를 얻을 수 있다고 판단하였고, v4를 서비스에 적용하기로 결정하였습니다.

profile
정성과 진심을 담아 흔적을 기록하자💡

0개의 댓글