我有一个用例,其中特殊字符也应该是可搜索的。我已经尝试了一些tokenizer,如char_group,standard,n-gram。如果我使用n-gram tokenizer,我就能够使特殊字符可搜索(因为它为每个字符生成一个标记)。但是n-gram生成的标记太多了,所以我对使用n-gram标记器不感兴趣。例如,如果文本是hey john.s #100 is a test name,则令牌化器应该为[hey,john,s,#,100,is,a,test,name]创建令牌
有关详细说明,请参阅this问题。
谢谢你,谢谢。
1条答案
按热度按时间kkbh8khc1#
根据您的用例,最好的选择是使用
Whitespace
标记器和Word Delimiter Graph filter
的组合。要了解更多信息,请查看Elasticsearch关于空格标记器和单词分隔符图过滤器的官方文档:
https://www.elastic.co/guide/en/elasticsearch/reference/8.4/analysis-whitespace-tokenizer.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-word-delimiter-graph-tokenfilter.html