Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 使用自定义分析器时,如何查看分析的文本?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Nest - Fatal编程技术网 elasticsearch 使用自定义分析器时,如何查看分析的文本?,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch 使用自定义分析器时,如何查看分析的文本?,elasticsearch,nest,elasticsearch,Nest" />

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

elasticsearch 使用自定义分析器时,如何查看分析的文本?,elasticsearch,nest,elasticsearch,Nest,我不知道如何测试我的自定义分析器/查看分析的数据 通常,在创建索引时,我会将自定义分析器添加到“索引设置”中。在这种情况下,我遇到的问题是我没有使用索引,或者至少我认为我没有,我不知道如何将我的自定义分析器添加到Elasticsearch客户端 这是我目前用于测试“分析”部分的方法: 找到它: 在索引中测试自定义分析器 在本例中,我们将向现有索引添加自定义分析器。首先,我们需要关闭索引 client.CloseIndex("analysis-index"); 现在,我们可以更新设置以添加分析器

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

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

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

找到它:

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

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

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")
                )
            )

        )
    )
);
var analyzeResponse = client.Analyze(a => a
    .Index("analysis-index") 
    .Analyzer("my_analyzer")
    .Text("F# is THE SUPERIOR language :)")
);
然后再次打开索引。在这里,我们还要等待多达5秒钟,以使索引的状态变为绿色

client.OpenIndex("analysis-index");
client.ClusterHealth(h => h
    .WaitForStatus(WaitForStatus.Green)
    .Index("analysis-index")
    .Timeout(TimeSpan.FromSeconds(5))
);
索引打开并准备就绪后,让我们测试分析器

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")
                )
            )

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

你应该试着安装大脑。

安装后,您可以在菜单分析中找到它。然后您可以很容易地看到“按字段类型分析”或“按分析器分析”

这应该会有所帮助