我一直在使用不同类型的标记器进行测试和演示。我需要检查特定文本字段如何使用不同的标记化器进行标记,并且还要查看生成的标记。
我怎样才能做到这一点?
答案 0 :(得分:5)
您可以将_analyze
endpoint用于此目的。
例如,使用标准分析器,您可以像这样分析this is a test
curl -XGET 'localhost:9200/_analyze?analyzer=standard&pretty' -d 'this is a test'
这会生成以下令牌:
{
"tokens" : [ {
"token" : "this",
"start_offset" : 0,
"end_offset" : 4,
"type" : "<ALPHANUM>",
"position" : 1
}, {
"token" : "is",
"start_offset" : 5,
"end_offset" : 7,
"type" : "<ALPHANUM>",
"position" : 2
}, {
"token" : "a",
"start_offset" : 8,
"end_offset" : 9,
"type" : "<ALPHANUM>",
"position" : 3
}, {
"token" : "test",
"start_offset" : 10,
"end_offset" : 14,
"type" : "<ALPHANUM>",
"position" : 4
} ]
}
当然,您可以使用existing analyzers中的任何一个,还可以使用tokenizer
参数指定标记符,使用token_filters
参数指定标记过滤器,使用{{1}指定字符过滤器参数。例如,使用标准分析器分析HTML char_filters
,curl -XGET 'localhost:9200/_analyze?tokenizer=keyword&token_filters=lowercase&char_filters=html_strip' -d 'THIS is a <b>TEST</b>'
标记生成器,keyword
标记过滤器和lowercase
字符过滤器会生成此标记,即不带小写的单个标记HTML标记:
html_strip
答案 1 :(得分:3)
除了@Val所提到的,你可以尝试pyzmq r,如果你打算研究令牌器的工作。你可以尝试这样的东西只是为了检查字段中发生的令牌化< / p>
GET /index-name/type-name/doc-id/_termvector?fields=field-to-be-examined
要了解有关令牌制作者及其操作的更多信息,请参阅此term vecto