首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticsearch和word_delimiter令牌过滤器

Elasticsearch和word_delimiter令牌过滤器
EN

Stack Overflow用户
提问于 2017-02-27 19:41:22
回答 2查看 6K关注 0票数 3

我一直在阅读来自elasticsearch的文档:https://www.elastic.co/guide/en/elasticsearch/reference/1.7/analysis-word-delimiter-tokenfilter.html

同时在互联网上搜索例子。不幸的是,不仅仅是有几个例子,它们中的大多数都不起作用。

如果有人能发布或举例说明如何在elasticsearch中使用word_delimeter token filter,我将非常感激。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-28 15:52:38

Elasticversion - 5.2

尝试以下映射

代码语言:javascript
复制
PUT demo
{
    "settings": {
        "analysis": {
          "analyzer": {
            "index_analyzer_v1" : {
              "tokenizer" : "whitespace",
              "filter" : [ "word_delimeter"]
            }
          },
          "filter": {
            "ngram_filter" : {
              "type" : "nGram",
              "min_gram": 1,
          "max_gram": 10,
          "token_chars": [
            "letter",
            "digit"
          ]
            },
            "word_delimeter" : {
              "type" : "word_delimiter",
              "generate_number_parts" : true,
              "catenate_words" : true,
              "catenate_numbers": true,
              "preserve_original" : true,
              "stem_english_possessive": true

            },
            "stop_words" : {
              "type": "stop",
          "stopwords": ["and", "is", "the", "we", "in", "are", "was", "were", "of"]
            }
          }
        }
    },
    "mappings": {
            "product": {
                "dynamic": "strict",
                "properties": {
                  "name": {
                    "type": "text",
                    "analyzer": "index_analyzer_v1"
                  }
                }
            }
        }
}

为以下文档编制索引

代码语言:javascript
复制
POST demo/product
{
  "name":"SH-09"
}

运行以下查询

代码语言:javascript
复制
POST demo/_search
{
  "query": {"bool": {"must": [
    {"term": {
      "name": {
        "value": "09"
      }
    }}
  ]}}
}

此外,如果希望查看存储在倒排索引中的值,请运行以下查询

代码语言:javascript
复制
GET demo/_analyze?analyzer=index_analyzer_v1&text=SH-09

希望这能有所帮助

票数 3
EN

Stack Overflow用户

发布于 2020-09-05 02:17:26

我知道这个问题有点老生常谈了,但不管怎样...我不能评论,因为我没有名誉点,但是如果你尝试搜索"everybody“,没有上面答案中提供的"-”,如果你想在"everybody“中搜索"body”,也许一个简单的通配符会对你有所帮助。https://www.elastic.co/guide/en/elasticsearch/reference/6.8/query-dsl-wildcard-query.html

我希望它是有用的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42484892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档