elasticsearch全文搜索词的一部分

时间:2016-04-19 11:44:55

标签: elasticsearch

如何通过部分单词查询elasticsearch进行全文搜索。

例如,如果我有这些文件

{
    name: "A1"
    desc: "This is first document"
}
{
    name: "A2"
    desc: "This is second document"
}

当我这样搜索时

{
    query: {
        query_string: {
            query: 'first'
        }
    }
}

它返回第一个文档,但是当我尝试搜索

{
    query: {
        query_string: {
            query: 'fir'
        }
    }
}

它不会返回任何东西。 如何在没有映射参数(如ngrams)的情况下解决此问题,只需查询即可。

谢谢

1 个答案:

答案 0 :(得分:2)

你应该尝试使用通配符,就像这样,它会起作用。

{
    query: {
        query_string: {
            query: 'fir*'
        }
    }
}

否则,use ngrams,它的表现要高得多。