Asciifolding not working Elastic Search Rails

2020-06-18 01:24发布

I am having a really bad time trying to get "asciifolding" working for my Rails app. I want to search words containing "accented" characters for example i want "foróige" to come up when i search "foroige". I have tried many things. A couple of them are below.

analysis: {
                analyzer: {
                    text: {
                        tokenizer: "standard",
                        filter: ["standard","lowercase", "asciifolding"],
                        char_filter: 'html_strip'
                    },
                    sortable: {
                        tokenizer: "keyword",
                        filter: ["lowercase", "asciifolding"],
                        char_filter: 'html_strip'
                    }
                }
           }

I have also tried char_filter by following James Healey charmap for sphinx for accented characters. http://yob.id.au/2008/05/08/thinking-sphinx-and-unicode.html

Any help is highly appreciated.

1条回答
Viruses.
2楼-- · 2020-06-18 01:35

After playing around with it i resolved the issue. I had to change the behaviour of the default analyzer.

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'
                    }
                }
查看更多
登录 后发表回答