【问题标题】:ElasticSearch not able to search special characters from a wordElasticSearch 无法从单词中搜索特殊字符
【发布时间】:2018-06-23 07:58:23
【问题描述】:

我已使用摄取附件处理器插件在弹性搜索中为我的 pdf 文件编制索引,现在我正在根据 PDF 中的可用内容搜索我的文件。

例如,我的 pdf 中有一些类似的内容。

Hello I m Karthikeyan. My mail id Karthikeyan@gmail.com, My mob no 4573894833.

在使用 Java API 进行搜索时,可以进行如下搜索。

搜索,

Karthikeyan@gmail.com 能够获取文件。 但, 如果我搜索, @gm 表示我无法获取该文件,我期待我应该获取该文件,因为该文件有我的搜索关键字 @gm

我该怎么做。 ?

我正在使用标记器,min_grammax_gram 各 3 个。

请找到我使用过的以下 java api,但它们都没有给我预期的结果。

QueryStringQueryBuilder attachmentQB = new QueryStringQueryBuilder("@gm"); 

请在下面找到我的映射详细信息。

PUT attach_local
    {

  "settings": {
    "analysis": {
      "analyzer": {
        "custom_analyzer": {
          "type": "custom",
          "tokenizer": "my_tokenizer",
          "char_filter": [
            "html_strip"
          ],
          "filter": [
            "lowercase",
            "asciifolding"
          ]
        }
      },
      "tokenizer": {
        "my_tokenizer": {
          "type": "ngram",
          "min_gram": 3,
          "max_gram": 3,
          "token_chars": [
            "letter",
            "digit"
          ]
        }
      }
    }
  },
  "mappings": {
    "doc": {
      "properties": {
        "attachment": {
          "properties": {
            "content": {
              "type": "text",
              "analyzer": "custom_analyzer"
            },
            "content_length": {
              "type": "long"
            },
            "content_type": {
              "type": "text"
            },
            "language": {
              "type": "text"
            }
          }
        },
        "resume": {
          "type": "text"
        }
      }
    }
  }
}

【问题讨论】:

    标签: java elasticsearch kibana elastic-stack


    【解决方案1】:

    您可以看到 ES 如何使用

    标记您的搜索文本
    POST /attach_local/_analyze
    {
      "analyzer": "custom_analyzer",
       "text": "@gm"
    }
    

    这会告诉你 @ 字符是否被删除。如果是这样,那将解释这种行为,因为您的倒排索引包含所有三元组并且您正在搜索二元组。

    【讨论】:

      猜你喜欢
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      相关资源
      最近更新 更多