2012-09-17 155 views
2

因此,雖然asciifoldingè變成e它不會過濾出像`這樣的單一口音,對吧?那我該如何擺脫它們呢?例如,我想索引O`Learys,並且能夠搜索olearys,O learys,o`learys的任何變體。Elasticsearch,過濾器的口音

+0

這應該是WordDelimiterFilterFactory的工作,請查看它。 – javanna

+0

我確實看過[that](http://www.elasticsearch.org/guide/reference/index-modules/analysis/word-delimiter-tokenfilter.html),但不會將它分成「o」 ''''''learys'''因此不符合'''olearys'''? – Yeggeps

+0

好吧,所以我嘗試了WordDelimiter,但是正如我所料,它不會匹配''olearys''',但它會匹配'''learys''''''learningys''。 – Yeggeps

回答

3

我不認爲有可能使O`Learys使用分析器,標記器或彈性搜索附帶的過濾器同時匹配olearysO learys。它需要檢測`的存在和索引O`Learys兩次:首先作爲一個標記olearys,然後作爲兩個標記olearys。它可以通過只使用自定義標記過濾器來完成。

作爲一種變通方法,可以使雙方olearyso`learys通過使用Mapping Char Filter輸入的字符刪除到`匹配O`Learys

+0

謝謝!它工作得很好,它實際上也匹配'''learys''',因爲我已經在分析器中有一個n-gram過濾器。 – Yeggeps