首页 > 解决方案 > 如何使用弹性执行子字符串搜索?

问题描述

我有green elephant弹性,我想匹配来自queriesgreen elephant is here和的前两条评论white and green elephant

await self.upload_to_elastic('green elephant')

queries = ('green elephant is here',
           'white and green elephant',
           'white and green and gray elephant'
           'elephant green',
           'green is my elephant name',
           'green',
           'green elephants')

for query in queries:
    items = await service.search_by_phrase(query)

进行此子字符串搜索的方式是什么?

标签: elasticsearch

解决方案


如果您的查询是针对message字段中的值,您可以使用regexp

{
    "query": {
        "regexp":{
            "message": {
                "value": ".*(green elephant).*"
            }
        }
    }
}

推荐阅读