2016-12-23 65 views
0

我有木瓦过滤器的问题。Elasticsearch查询字符串与木瓦过滤器不工作

我的设置如下木瓦:

"filter_shingle": { 
     "type": "shingle", 
     "min_shingle_size": 2, 
     "max_shingle_size": 3, 
     "output_unigrams": false 
    } 

    "analyzer_1": { 
     "type": "custom", 
     "tokenizer": "standard", 
     "filter": ["asciifolding","lowercase","filter_shingle"] 
    } 

我想到场数据例子: “我的名字是”,用此过滤器procee后,数据成为:

...

“field1”使用“analyzer_1”

查询字符串在这里(不要使用“match_phrase”)

"query_string" : { 
    "default_operator": "AND", 
     "fields" : ["field1"], 
     "query" : "My name", 
     "analyzer": "keyword" 
    } 

但是没有数据检索,当我使用映射和分析器创建索引时,没有事件抛出。

谁能帮帮我,谢谢你这么多(对不起,差EN)

回答

0

既然你在你的query_string查询使用keyword分析仪,需要在小写输入您的输入,即my name代替My name ,因为你的索引令牌是my name而不是My name

"query_string" : { 
    "default_operator": "AND", 
     "fields" : ["field1"], 
     "query" : "my name",  <-- change this 
     "analyzer": "keyword" 
    } 
+0

我尝试小写查询值,但不工作:( –