搜索优化:停用词、同义词处理技巧
在搜索应用中,为了提高搜索的效率和准确性,我们常常需要对停用词和同义词进行处理。下面将介绍两种重要的技术:common_grams标记过滤器和同义词的使用。
1. common_grams 标记过滤器
当我们从索引中排除某些术语时,会降低搜索的可查性。例如,我们无法区分 “Man in the moon” 和 “Man on the moon” 这两个短语。不过,common_grams标记过滤器可以解决这个问题,它能让包含停用词的短语查询更高效。
1.1 创建自定义分析器
common_grams标记过滤器根据query_mode的设置(false用于索引,true用于搜索)产生不同的输出,因此我们需要创建两个单独的分析器。
PUT /my_index { "settings": { "analysis": { "filter": { "index_filter": { "type": "common_grams", "common_words": "_english_" }, "search_filter": { "type": "common_grams",