이 사용자 정의 분석기를 만들려고하고 어떤 이유로 든 Analyzer [] not found for field []
오류가 발생했습니다 ... 나는 많은 것을 둘러 보았고 다른 구현을 시도했는데 올바른 구문이 있다고 생각합니다. ... 여기에 있습니다 :타이어 (ElasticSearch)의 사용자 정의 분석기
settings :number_of_shards => 5,
:number_of_replicas => 2,
:analysis => {
:analyzer => {
:ticker_analyzer => {
"type" => 'custom',
"tokenizer" => 'ticker_pattern',
"filter" => [ 'word_delimiter_filter', 'standard' ]
}
},
:filter => {
:word_delimiter_filter => {
"type" => 'word_delimiter',
"preserve_original" => true
}
},
:tokenizer => {
:ticker_pattern => {
"type" => 'pattern',
"pattern" => '\w+'
}
}
} do
mapping do
# ... some more indexes that work fine, with regular analyzers
indexes :company_ticker, type: 'string', boost: 5.0, analyzer: 'ticker_analyzer', as: 'index_company_ticker'
end
end
그래서 오류 Analyzer [ticker_analyzer] not found for field [company_ticker]
가 표시됩니다.
왜 그런가?
또한 블록을 settings
옵션으로 전달할 필요가없는 몇 가지 예를 살펴 보았습니다. 나는 단지 settings
을 닫고 나중에 mapping
을 정의 할 것이다. (다른 사람들이 코드 스 니펫을 게시하는 것을 보았습니다 ...)
고마워요!
-Vlad
여기에서 모델을 따랐습니다 : https://github.com/karmi/tire#activemodel-integration. 그것은 나를 위해 일하는 것 같지 않습니다 ... 어쩌면 내가 뭔가 잘못하고있는 것일까 요? – vburca