Ruby on rails 3.2 ascifolding不工作弹性搜索栏
我在尝试为我的Rails应用程序使用“asciifolding”时遇到了一段非常糟糕的时光。 我想搜索包含“重音字符的单词,例如,我想在搜索“foroige”时出现“foróige”。 我试过很多东西。下面有几个Ruby on rails 3.2 ascifolding不工作弹性搜索栏,ruby-on-rails-3.2,elasticsearch,non-ascii-characters,Ruby On Rails 3.2,elasticsearch,Non Ascii Characters,我在尝试为我的Rails应用程序使用“asciifolding”时遇到了一段非常糟糕的时光。 我想搜索包含“重音字符的单词,例如,我想在搜索“foroige”时出现“foróige”。 我试过很多东西。下面有几个 analysis: { analyzer: { text: { tokenizer: "standard", filt
analysis: {
analyzer: {
text: {
tokenizer: "standard",
filter: ["standard","lowercase", "asciifolding"],
char_filter: 'html_strip'
},
sortable: {
tokenizer: "keyword",
filter: ["lowercase", "asciifolding"],
char_filter: 'html_strip'
}
}
}
我还尝试了char_filter,通过跟随詹姆斯·希利(James Healey)为斯芬克斯(sphinx)绘制的charmap为重音字符绘制了char_filter。
非常感谢您提供的任何帮助。在试用后,我解决了这个问题。我必须改变默认分析器的行为
analyzer: {
default: {
tokenizer: "standard",
filter: ["standard", "lowercase", "asciifolding"]
},
text: {
tokenizer: "standard",
filter: ["standard", "lowercase"],
char_filter: 'html_strip'
},
sortable: {
tokenizer: "keyword",
filter: ["lowercase"],
char_filter: 'html_strip'
}
}
搜索时,是否也需要将包含重音字符的查询转换为ascii,或者此筛选器是否会自动在搜索输入上运行?