간단히 기능의 "이름"을 저장하는 Elasticsearch 색인이 필요합니다. 소리 나는 검색어를 입력하고 이전에 스타일을 미리 입력 할 수 있기를 원합니다. 두 개의 분석기와 두 개의 필터로 하나의 색인을 생성 할 수있을 것이라고 생각합니다. 각 분석기는 필터 중 하나를 사용할 수 있습니다. 그러나 나는 이것을 할 수 없을 것 같습니다.Elasticsearch 색인 설정에 필터를 여러 개 사용할 수 있습니까?
말, 내가 HTTP 400을 얻을http://hostname:9200/index/type
:
{
"settings": {
"number_of_shards": 1,
"analysis": {
"analyzer": {
"autocomplete_analyzer": {
"type": "custom",
"tokenizer": "standard",
"filter": ["standard", "lowercase", "ngram"]
}
},
"analyzer": {
"phonetic_analyzer": {
"tokenizer": "standard",
"filter": "double_metaphone_filter"
}
},
"filter": {
"double_metaphone_filter": {
"type": "phonetic",
"encoder": "double_metaphone"
}
},
"filter": {
"ngram": {
"type": "ngram",
"min_gram": 2,
"max_gram": 15
}
}
}
}
}
을 나는이 설정 인덱스를 만들려고하면 다음과 같습니다
내가 사용하려고 해요 인덱스 설정 JSON입니다Custom Analyzer [phonetic_analyzer] failed to find filter under name [double_metaphone_filter]
잘못 이해하지 말고, 나는 그 문장이 의미하는 바를 완전히 깨닫습니다. 나는 보았고 잘못된 쉼표 나 따옴표를 찾았지만 아무 것도 볼 수 없다. 그렇지 않으면 모든 것이 존재하고 올바르게 형식화됩니다.
분석기을 삭제하면 자동 완성 분석기와 ngram 필터에서만 색인이 생성됩니다.
필터을 삭제하면 음 성 분석기 및 소리 나는 필터 만 사용하여 색인이 생성되지만 사용됩니다.
인덱스 당 하나의 분석기 또는 인덱스 당 하나의 분석기와 같은 ES의 기본 개념이 누락 된 느낌이 들거나 다른 논리 종속성을 올바르게 설정해야합니다. 논리적 다이어그램 또는 Elasticsearch 인프라의 API 사양을 완벽하게 유지해야합니다. 즉, 모든 인덱스에는 분석기 1 개, 필터 1 개만있을 수 있으며 쿼리에는 bool, match 등이 필요합니다. 그러나 유니콘은 존재하지 않는 것 같습니다.
각 기능을 수행하는 방법에 대한 설명서, 블로그 게시물 등이 많이 있지만 색인에는 분석기와 필터가 각각 하나씩 있습니다. 나는 하나의 인덱스에서 (범위를 벗어난 이유로)이 이중 기능을 수행하고 싶다.
누군가 도움이나 조언을 제공해 줄 수 있습니까?
감사합니다! 이것은 효과가 있었다. – user6411097