elasticsearch,non-ascii-characters,Ruby On Rails 3.2,elasticsearch,Non Ascii Characters" /> elasticsearch,non-ascii-characters,Ruby On Rails 3.2,elasticsearch,Non Ascii Characters" />

Ruby on rails 3.2 ascifolding不工作弹性搜索栏

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

我在尝试为我的Rails应用程序使用“asciifolding”时遇到了一段非常糟糕的时光。 我想搜索包含“重音字符的单词,例如,我想在搜索“foroige”时出现“foróige”。 我试过很多东西。下面有几个

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,或者此筛选器是否会自动在搜索输入上运行?