使用自定义分析器时如何查看分析的文本?

撒迪厄斯

我不知道如何测试我的自定义分析器/查看分析的数据。

通常我会在创建索引时将我的自定义分析器添加到“索引设置”中。在这种情况下我遇到的问题是我没有使用索引,或者至少我认为我没有使用并且我不知道如何将我的自定义分析器添加到 Elasticsearch 客户端?

这是我目前用于测试“分析”部分的方法:

public async Task AnalizeField(string analyzer, string textToAnalyze)
{
    var elasticClient = ElasticsearchHelper.DatabaseConnection();

    var analyzeResponse = await elasticClient.AnalyzeAsync(a => a
            .Analyzer(analyzer)
            .Text(textToAnalyze)
        );

    var result = "";

    if (analyzeResponse != null && analyzeResponse.Tokens.Count > 0)
    {
        foreach (var token in analyzeResponse.Tokens)
        {
            result += token.Token + " ";
        }

    }

    Console.WriteLine("Analyzing text \"" + textToAnalyze + "\" using the \"" + analyzer + "\" analyzer: " + result);
}
撒迪厄斯

找到它:https : //www.elastic.co/guide/en/elasticsearch/client/net-api/current/testing-analyzers.html#_testing_a_custom_analyzer_in_an_index

在索引中测试自定义分析器

在此示例中,我们将向现有索引添加自定义分析器。首先,我们需要关闭索引

client.CloseIndex("analysis-index");

现在,我们可以更新设置以添加分析器

client.UpdateIndexSettings("analysis-index", i => i
    .IndexSettings(s => s
        .Analysis(a => a
            .CharFilters(cf => cf
                .Mapping("my_char_filter", m => m
                    .Mappings("F# => FSharp")
                )
            )
            .TokenFilters(tf => tf
                .Synonym("my_synonym", sf => sf
                    .Synonyms("superior, great")

                )
            )
            .Analyzers(an => an
                .Custom("my_analyzer", ca => ca
                    .Tokenizer("standard")
                    .CharFilters("my_char_filter")
                    .Filters("lowercase", "stop", "my_synonym")
                )
            )

        )
    )
);

并再次打开索引。在这里,我们也最多等待 5 秒让索引的状态变为绿色

client.OpenIndex("analysis-index");
client.ClusterHealth(h => h
    .WaitForStatus(WaitForStatus.Green)
    .Index("analysis-index")
    .Timeout(TimeSpan.FromSeconds(5))
);

打开索引并准备好后,让我们测试分析器

var analyzeResponse = client.Analyze(a => a
    .Index("analysis-index") 
    .Analyzer("my_analyzer")
    .Text("F# is THE SUPERIOR language :)")
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Elasticsearch 自定义分析器

来自分类Dev

在Lucene 4.9中使用自定义分析器时,违反TokenStream合同

来自分类Dev

使用自定义分析器在Elasticsearch上创建索引时出错

来自分类Dev

使用自定义分析器索引文档时超时

来自分类Dev

在使用elasticsearch-py查询匹配时自定义分析器的任何建议?

来自分类Dev

如何在ElasticSearch中使用自定义分析器?

来自分类Dev

如何在ElasticSearch中使用自定义分析器?

来自分类Dev

Azure 搜索定义自定义分析器

来自分类Dev

在Elasticsearch中定义自定义分析器进行查询时出错

来自分类Dev

ElasticSearch Rails-设置自定义分析器

来自分类Dev

测试ElasticSearch自定义分析器

来自分类Dev

自定义分析器elasticsearch-rails

来自分类Dev

Lucene自定义分析器-违反TokenStream合同

来自分类Dev

创建索引后创建自定义分析器

来自分类Dev

Azure搜索自定义分析器

来自分类Dev

Elasticsearch自定义分析器问题

来自分类Dev

自定义PyQt Qscintilla CPP词法分析器

来自分类Dev

自定义分析器无法正常工作Elasticsearch

来自分类Dev

自定义排序分析器,用于弹性搜索

来自分类Dev

调用自定义分析器时在 python 中抛出的奇怪异常

来自分类Dev

如何在WEKA(Java)中使用自定义停用词和词干分析器文件?

来自分类Dev

使用Jest使用自定义分析器创建索引的麻烦

来自分类Dev

EditorConfig-如何在自定义分析器中访问editorconfig规则设置

来自分类Dev

如何为ruby中的elasticsearch-persistence配置自定义分析器?

来自分类Dev

在Spring Data Elasticsearch中使用asiifolding过滤器创建自定义分析器

来自分类Dev

在Elasticsearch中使用自定义分析器实现自动完成

来自分类Dev

使用自定义分析器在 elasticsearch 中获取 multi_match cross_fields 查询的结果

来自分类Dev

Scala分析器组合器自定义错误消息

来自分类Dev

copy_to和自定义分析器不起作用

Related 相关文章

  1. 1

    Elasticsearch 自定义分析器

  2. 2

    在Lucene 4.9中使用自定义分析器时,违反TokenStream合同

  3. 3

    使用自定义分析器在Elasticsearch上创建索引时出错

  4. 4

    使用自定义分析器索引文档时超时

  5. 5

    在使用elasticsearch-py查询匹配时自定义分析器的任何建议?

  6. 6

    如何在ElasticSearch中使用自定义分析器?

  7. 7

    如何在ElasticSearch中使用自定义分析器?

  8. 8

    Azure 搜索定义自定义分析器

  9. 9

    在Elasticsearch中定义自定义分析器进行查询时出错

  10. 10

    ElasticSearch Rails-设置自定义分析器

  11. 11

    测试ElasticSearch自定义分析器

  12. 12

    自定义分析器elasticsearch-rails

  13. 13

    Lucene自定义分析器-违反TokenStream合同

  14. 14

    创建索引后创建自定义分析器

  15. 15

    Azure搜索自定义分析器

  16. 16

    Elasticsearch自定义分析器问题

  17. 17

    自定义PyQt Qscintilla CPP词法分析器

  18. 18

    自定义分析器无法正常工作Elasticsearch

  19. 19

    自定义排序分析器,用于弹性搜索

  20. 20

    调用自定义分析器时在 python 中抛出的奇怪异常

  21. 21

    如何在WEKA(Java)中使用自定义停用词和词干分析器文件?

  22. 22

    使用Jest使用自定义分析器创建索引的麻烦

  23. 23

    EditorConfig-如何在自定义分析器中访问editorconfig规则设置

  24. 24

    如何为ruby中的elasticsearch-persistence配置自定义分析器?

  25. 25

    在Spring Data Elasticsearch中使用asiifolding过滤器创建自定义分析器

  26. 26

    在Elasticsearch中使用自定义分析器实现自动完成

  27. 27

    使用自定义分析器在 elasticsearch 中获取 multi_match cross_fields 查询的结果

  28. 28

    Scala分析器组合器自定义错误消息

  29. 29

    copy_to和自定义分析器不起作用

热门标签

归档