对大小写的数据进行敏感搜索

时间:2017-03-24 20:09:28

标签: elasticsearch

我有这些数据:

first_name: "Juraj"
last_name: "Carnogursky"

当我搜索juraj时,我想找到该记录。所以基本上我希望将数据转换为小写,然后与表达式进行比较。我到目前为止所做的不起作用:

"query":{
        "bool":{  
            "should":[  
                {  
                    "query_string": {
                        "query": "title.keyword:*" + expression + "*"
                    }
                },
                {  
                    "query_string": {
                        "query": "description.keyword:*" + expression + "*"
                    }
                },
                {
                    "query_string": {
                        "query": "author.first_name.keyword:*" + expression + "*"
                    }
                },
                {
                    "query_string": {
                        "query": "author.last_name.keyword:*" + expression + "*"
                    }
                },
            ]
        }
    },

我以前拥有的是:

    "query":{
        "bool":{  
            "should":[  
                {  
                    "wildcard":{  
                        "title.keyword":"*" + expression + "*"
                    }
                },
                {  
                    "wildcard":{  
                        "description.keyword":"*" + expression + "*"
                    }
                },
                {  
                    "wildcard":{  
                        "author.first_name.keyword":"*" + expression + "*"
                    }
                },
                {  
                    "wildcard":{  
                        "author.last_name.keyword":"*" + expression + "*"
                    }
                },
            ]
        }
    },

当我输入小名字时,这两个不起作用。 如何解决这个问题?

修改

这是我的映射http://pastebin.com/nnFZHf08

PS:对不起外部链接,映射太长了......

0 个答案:

没有答案