栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为C#NEST客户端指定和使用NGramTokenizer进行elasticsearch

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为C#NEST客户端指定和使用NGramTokenizer进行elasticsearch

从nGram令牌过滤器上的es文档中了解一下:

    "settings" : {        "analysis" : { "analyzer" : {     "my_ngram_analyzer" : {         "tokenizer" : "my_ngram_tokenizer"     } }, "tokenizer" : {     "my_ngram_tokenizer" : {         "type" : "nGram",         "min_gram" : "2",         "max_gram" : "3",         "token_chars": [ "letter", "digit" ]     } }        }    }

注意事项

  1. 您需要添加

    mynGram
    到分析仪中,否则将无法使用。他们的工作方式就是这样。每个索引字段都应用了一个分析器,一个分析器是 一个 标记器,后跟 零个或多个 标记过滤器。您已经定义了一个不错的nGram标记生成器(
    mynGram
    )来使用,但是您没有在中使用它
    customAnalyzer
    ,而是使用了
    standard
    标记生成器。(基本上,您只是在定义但从未使用过
    mynGram
    。)

  2. 您需要告诉elasticsearch

    customAnalyzer
    在您的映射中使用您的:
    "properties": {"string_field": {"type": "string", "index_analyzer": customAnalyzer" }}

  3. 您应该将更

    maxGram
    改为更大的数字(可能是10),否则4个字母的搜索将不会完全像自动完成一样(或可能不返回任何值,具体取决于搜索时间分析器)。

  4. 使用

    _analyze
    api端点测试您的分析器。东西线这应该工作。

curl -XGET’http:
//yourserver.com
:9200?index_name/_analyze?analyzer=customAnalyzer’-d’rlewis’

祝好运!



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413008.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号