一尘不染

Asciifolding无法正常工作Elastic Search Rails

elasticsearch

我在尝试为我的Rails应用程序进行“ asciifolding ”工作时 经历 了非常糟糕的时光。我想搜索含有“字 重音
例如”字,我想“ 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'
                    }
                }
           }

我还通过遵循James Healey charmap的重音字符的狮身人面像尝试了char_filter。
http://yob.id.au/2008/05/08/thinking-sphinx-and-
unicode.html

非常感谢您的帮助。


阅读 227

收藏
2020-06-22

共1个答案

一尘不染

在玩了之后,我解决了这个问题。我必须更改默认分析器的行为。

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'
                    }
                }
2020-06-22