Elasticsearch Highlighting无法正常工作

时间:2018-11-15 08:22:06

标签: elasticsearch

我正在尝试使用查询对数字进行完全匹配:

{
   "from":0,
   "size":24,
   "query":{
      "bool":{
         "should":[
            {
               "query_string":{
                  "query":"+\"423.0\"",
                  "fields":[],
                  "boost":"50"
               }
            }
         ],
         "minimum_should_match":1,
         "filter":[
            {
               "terms":{
                  "FOLDER_ID.keyword":[ 2, 8, 9, 12, -1 ]
               }
            }
         ]
      }
   },
   "highlight":{
      "type":"unified",
      "fields":{
         "*":{

         }
      }
   }
}

突出显示无法按要求工作。它突出显示了随机结果。 喜欢:

"highlight":{
   "Value1":[
      "<em>0</em>"
   ],
   "Value2.keyword":[
      "<em>423.0</em>"
   ],
   "value3":[
      "<em>D:\\Ser\\tim\\tim\\FileSystem\\acred\\temp\\1541662854708</em>"
   ],
   "value4":[
      "<em>0</em>"
   ],
   "term":[
      "<em>0.0</em>"
   ]
}

我在索引和搜索时的分析器是: 我的搜索分析器与索引分析器不同 我已经在索引分析器中使用了模式捕获并将其在搜索分析器中设置为false。此分析器在搜索时会影响我的完全匹配查询吗?

"analysis":{  
   "filter":{  
      "indexFilter":{  
         "type":"pattern_capture",
         "preserve_original":true,
         "patterns":[  
            "([@,$,%,&,!,.,#,^,*]+)",
            "([-]+)",
            "(\\w+)"
         ]
      },
      "searchFilter":{  
         "type":"pattern_capture",
         "preserve_original":false,
         "patterns":[  
            "([\\w,-]+)"
         ]
      }
   },
   "analyzer":{  
      "indexAnalyzed":{  
         "filter":[  
            "indexFilter",
            "lowercase"
         ],
         "tokenizer":"whitespace"
      },
      "searchAnalyzed":{  
         "tokenizer":"whitespace",
         "filter":[  
            "searchFilter",
            "lowercase"
         ]
      }
   }
}

谢谢

0 个答案:

没有答案