在搜索中找不到的术语,但存在于Elasticsearch中的术语向量中

时间:2015-07-25 19:03:49

标签: java elasticsearch

我的数据集中有一个术语,它不会提供任何搜索结果,但会出现在文档中。

如果我请求术语向量:

GET index_5589b14f3004fb6be70e4724/document_set/_search
{
  "query": {
    "multi_match": {
      "query": "advis",
      "fields": ["plain_text", "pdf_text"]
    }
  },
  "explain": true
}

术语矢量有这个词:

{{1}}

但是当我搜索这个单词来检索它所发生的所有文件时,我得到零点击:

{{1}}

为什么会这样?

1 个答案:

答案 0 :(得分:1)

这是因为在上面的示例中,搜索词很可能被分析 advis 被阻止到 advi 。 您可以在查询中明确指定 keyword 分析器,您应该获得值

GET index_5589b14f3004fb6be70e4724/document_set/_search
{
  "query": {
    "multi_match": {
      "query": "advis",
      "fields": ["plain_text", "pdf_text"],
      "analyzer" : "keyword"
    }
  },
  "explain": true
}