elasticsearch:regex在completion suggester regex中匹配多单词字符串

5t7ly7z5  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(0)|浏览(432)

我正在尝试将自动完成功能的输入查询的最后两个单词与完成建议匹配。因为它是一个前缀树,所以给出整个查询可能不会产生结果。我正在尝试编写一个简单的正则表达式,它匹配最后两个单词,如果不匹配,则匹配最后一个单词。
Map:

"sections": {
    "type": "text",
    "fields": {
      "sections_suggest": {
        "type": "completion"
      }
    }
  }
Input query - I want to know could yes
last 2 tokens - could, yes
regex tried -
1. (could )?yes
2. (could\s)?yes

这和这里的句子是一致的

但它在我的搜索查询代码中不匹配

body = {

        "suggest": {
            "section-suggest": {
                "regex": "(could )?yes",
                "completion": {
                    "field": "sections.sections_suggest",
                }
            }
        }
      }
      search_result = self.es.search(index=index_name, body=body)

正则表达式有问题吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题