带有字母数字和&数的弹性搜索映射分析仪特殊字符模式

时间:2018-06-12 03:50:20

标签: java elasticsearch kibana elastic-stack

我为字段filename创建了一个弹性搜索映射,它可以正常使用字母表文件名。但我想包括数字模式和现有模式。

请找到我的mappings

PUT /documents_test8
{
   "settings" : {
      "analysis" : {
         "analyzer" : {
            "filename_search" : {
               "tokenizer" : "filename",
               "filter" : ["lowercase"]
            },
            "filename_index" : {
               "tokenizer" : "filename",
               "filter" : ["lowercase","edge_ngram"]
            }
         },
         "tokenizer" : {
            "filename" : {
               "pattern" : "[^\\p{L}\\d]+",
               "type" : "pattern"
            }
         },
         "filter" : {
            "edge_ngram" : {
               "side" : "front",
               "max_gram" : 20,
               "min_gram" : 1,
               "type" : "edgeNGram"
            }
         }
      }
   },
   "mappings" : {
      "doc" : {
         "properties" : {
            "filename" : {
               "type" : "text",
               "search_analyzer" : "filename_search",
               "index_analyzer" : "filename_index"
            }
         }
      }
   }
}

我想在下面的现有模式中包含数字模式:

"tokenizer" : {
        "filename" : {
           "pattern" : "[^\\p{L}\\d]+",
           "type" : "pattern"
        }
     },

例如,我可能有一个以下名称的文件:

My_File_V-300Tf_en-US.pdf

在此我想搜索V-300Tf-300V-300,因此,它应该带来该文件。

0 个答案:

没有答案