我是 flex 搜索的新手。

我创建了一个索引,并添加了一个映射文件。

映射文件内容:

{
"properties": {
    "funds": {
        "properties": {
            "name": {
                "type": "text"
            }
        }
    }
}

}

用_doc / 1添加了一个文档。

当我使用邮递员工具使用{"query" : { "match_all" :{} }}搜索时,数据即将到来。

就像我添加过滤器时一样,得到空结果。
{  "query" : {
"bool" : {
  "filter" : [
    {
      "term" : {
        "funds.name" : "xyz"
      }
    }
  ]
}

}
}

谁能建议我做错了什么。

最佳答案

您应该使用match查询而不是term查询,因​​为funds.name是分析文本(即text类型):

{
  "query": {
    "bool": {
      "filter": [
        {
          "match": {                         <--- change this
            "funds.name": "xyz"
          }
        }
      ]
    }
  }
}

关于elasticsearch - 即使有记录, Elasticsearch 也不会给出结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61677169/

10-15 22:47