【发布时间】:2013-06-17 22:35:41
【问题描述】:
我正在尝试创建此自定义分析器,但由于某种原因,我收到了 Analyzer [] not found for field [] 错误...我环顾四周并尝试了不同的实现,我认为我有正确的语法...在这里是:
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 并且它会工作吗? (我在其他人发布代码 sn-ps 时看到过这种情况......)
谢谢!
-弗拉德
【问题讨论】:
-
我从这里跟随模型:github.com/karmi/tire#activemodel-integration。但它似乎对我不起作用......也许我做错了什么?
标签: ruby-on-rails ruby ruby-on-rails-3 elasticsearch tire