弹性搜索中unicode(表情符号)字符的字符串查询

时间:2015-10-02 16:28:42

标签: node.js elasticsearch mongoosastic

我的ES索引中有一些文章包含表情符号图标。我想搜索包含特定表情符号字符的文章。我正在使用compose.io作为我的ES提供程序,通过ElasticHQ,我可以看到数据中的表情符号 - 它们在OS X中呈现为图标,因此我假设unicode已正确存储。但是,当我运行此查询时,我得不到任何结果。如果我运行纯文本搜索,我会得到我的结果。我正在使用mongoosastic。

Article.search({query_string: {query: ""}},
            {fields: "title"}, 
            function(err, results) {
            if (err) {
                console.log("error: " + err);
            } else {    
                console.log("results: " + JSON.stringify(results));         
            }
        });

//results: {"took":6,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

1 个答案:

答案 0 :(得分:1)

是的,看起来ElasticSearch也无法直接启用搜索表情符号。此外,我尝试使用相应的unicode值,这似乎也不起作用。可能将原始unicode值转换为字符串会有所帮助。