6

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 も試しました。 http://yob.id.au/2008/05/08/thinking-sphinx-and-unicode.html

どんな助けでも大歓迎です。

4

1 に答える 1

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'
                    }
                }
于 2013-09-10T16:36:55.677 に答える