Asciifolding不工作Elastic Search Rails

AMB*_*sra 6 non-ascii-characters elasticsearch ruby-on-rails-3.2

我正在努力让" asciifolding "为我的Rails应用程序工作.我想搜索含有"字的重音,例如"字,我想" foróige "拿出当我搜索" foroige ".我尝试了很多东西.下面有几个.

analysis: {
                analyzer: {
                    text: {
                        tokenizer: "standard",
                        filter: ["standard","lowercase", "asciifolding"],
                        char_filter: 'html_strip'
                    },
                    sortable: {
                        tokenizer: "keyword",
                        filter: ["lowercase", "asciifolding"],
                        char_filter: 'html_strip'
                    }
                }
           }
Run Code Online (Sandbox Code Playgroud)

我也尝试过char_filter跟随James Healey charmap为狮身人面像加入重音字符. http://yob.id.au/2008/05/08/thinking-sphinx-and-unicode.html

任何帮助都非常感谢.

AMB*_*sra 6

在玩完之后我解决了这个问题.我不得不改变默认分析器的行为.

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'
                    }
                }
Run Code Online (Sandbox Code Playgroud)

  • 在搜索时,您是否还需要将包含重音字符的查询转换为ascii,或者此过滤器是否会自动在搜索输入上运行? (2认同)