이 예외가 발생하는 이유는 일반 작성 색인 엔드 포인트를 호출하여 색인 설정을 갱신 할 수 없기 때문입니다. 분석기를 업데이트하려면 '_settings'엔드 포인트를 호출해야합니다.
나는이 작업을 수행하는 방법에 당신을 위해 작은 예를했습니다
:
PUT test
{
"settings": {
"analysis": {
"analyzer": {
"new_analyzer": {
"tokenizer": "standard"
}
}
}
}
}
GET test/_analyze
{
"analyzer": "new_analyzer",
"text": "NoLowercasse"
}
POST test/_close
PUT test/_settings
{
"analysis": {
"analyzer": {
"new_analyzer": {
"tokenizer": "standard",
"filter": [
"asciifolding",
"lowercase"
]
}
}
}
}
POST test/_open
GET test/_analyze
{
"analyzer": "new_analyzer",
"text": "LowerCaseAdded"
}
응답 :
{
"tokens": [
{
"token": "lowercaseadded",
"start_offset": 0,
"end_offset": 14,
"type": "<ALPHANUM>",
"position": 0
}
]
}
당신은 두 번째 분석 한 후, 소문자 필터가 적용되고 있음을 알 수 . 색인을 닫아야하는 이유는 분석기를 다시 작성해야하기 때문입니다. 이전에 추가 된 문서는이 분석기로 인덱싱되지 않았으므로 오히려 오름차순 및 소문자가없는 새 분석기가 예상대로 작동하지 않습니다. 이 문제를 해결하려면 색인을 다시 작성해야합니다 (예 : Reindex-API)
희망이 있습니다.
편집 : 드루팔 (Drupal-Elastic) 솔루션이 아니기 때문에 응답 속도가 너무 빨라서 올바른 방향으로 향할 수도 있습니다. 솔직히 Drupal과 함께 ES를 실행하는 것에 익숙하지 않습니다.
대단히 감사합니다. 바이런입니다. 실제로 올바른 방향입니다. 그러나 드루팔 (drupal)에 적용 할 수는 없습니다. –
계속 체크하겠습니다. –
새 질문을했는데, 당신에게 알려줍니다. 계속의 ... –