[Elasticsearch - The Definitive Guide] Controlling Stemming
Elastic/TheDefinitiveGuide 2015. 12. 22. 13:42형태소 분석에서 stemming 관련 글 입니다.
언어학에 대한 지식은 검색 기술에서도 매우 중요 합니다.
하지만 저는 컴퓨터과학을 전공하였기에 모르는건 기록하고 학습을 해야... 그래서 기록합니다.
원문링크)
원문 Snippet)
- Preventing Stemming
당연히 아시겠지만, stopwords 와는 다릅니다.
PUT /my_index
{
  "settings": {
    "analysis": {
      "filter": {
        "no_stem": {
          "type": "keyword_marker",
          "keywords": [ "skies" ]  }
      },
      "analyzer": {
        "my_english": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "no_stem",
            "porter_stem"
          ]
        }
      }
    }
  }
}
        }
      },
      "analyzer": {
        "my_english": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "no_stem",
            "porter_stem"
          ]
        }
      }
    }
  }
}
GET /my_index/_analyze?analyzer=my_english sky skies skiing skis
- Customizing Stemming
추출 term에 대한 맵핑 정보를 사용하는 방법이며, 조금은 다르지만 synonym과 비슷 합니다.
역시 색인 및 검색 시 사용이 가능합니다.
PUT /my_index
{
  "settings": {
    "analysis": {
      "filter": {
        "custom_stem": {
          "type": "stemmer_override",
          "rules": [  "skies=>sky",
            "mice=>mouse",
            "feet=>foot"
          ]
        }
      },
      "analyzer": {
        "my_english": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "custom_stem",
            "skies=>sky",
            "mice=>mouse",
            "feet=>foot"
          ]
        }
      },
      "analyzer": {
        "my_english": {
          "tokenizer": "standard",
          "filter": [
            "lowercase",
            "custom_stem",  "porter_stem"
          ]
        }
      }
    }
  }
}
GET /my_index/_analyze?analyzer=my_english
The mice came down from the skies and ran over my feet
            "porter_stem"
          ]
        }
      }
    }
  }
}
GET /my_index/_analyze?analyzer=my_english
The mice came down from the skies and ran over my feet 







