Solr 中 StandardTokenizerFactory 和 KeywordTokenizerFactory 之间的区别?

发布于 2024-12-07 16:02:01 字数 222 浏览 1 评论 0原文

我是 Solr 新手。我想知道何时使用 StandardTokenizerFactoryKeywordTokenizerFactory

我阅读了 Apache Wiki 上的文档,但我不明白。

谁能解释一下 StandardTokenizerFactory 和 KeywordTokenizerFactory 之间的区别?

I am new to Solr.I want to know when to use StandardTokenizerFactory and KeywordTokenizerFactory?

I read the docs on Apache Wiki, but I am not getting it.

Can anybody explain the difference between StandardTokenizerFactory and KeywordTokenizerFactory?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

太阳哥哥 2024-12-14 16:02:01

标准TokenizerFactory:-
它对空白进行标记,并去除字符

文档:-

在标点符号处拆分单词,删除标点符号。
然而,后面没有空格的点被认为是
一个令牌。在连字符处分割单词,除非单词中有数字
令牌。在这种情况下,整个代币将被解释为产品
数且未分割。识别电子邮件地址和互联网
主机名作为一个令牌。

将其用于要搜索字段数据的字段。

例如 -

http://example.com/I-am+example?Text=-Hello

将生成 7 个标记(以逗号分隔) -

http,example.com,I,am,example,Text,Hello

KeywordTokenizerFactory :-

Keyword Tokenizer 根本不会拆分输入。
不对字符串执行任何处理,整个字符串被视为单个实体。
这实际上并没有进行任何标记化。它将原始文本作为一个术语返回。

主要用于排序或分面需求,您希望在过滤多个单词和排序时匹配确切的分面,因为排序不适用于标记化字段。

例如

http://example.com/I-am+example?Text=-Hello

会生成一个令牌 -

http://example.com/I-am+example?Text=-Hello

StandardTokenizerFactory :-
It tokenizes on whitespace, as well as strips characters

Documentation :-

Splits words at punctuation characters, removing punctuations.
However, a dot that's not followed by whitespace is considered part of
a token. Splits words at hyphens, unless there's a number in the
token. In that case, the whole token is interpreted as a product
number and is not split. Recognizes email addresses and Internet
hostnames as one token.

Would use this for fields where you want to search on the field data.

e.g. -

http://example.com/I-am+example?Text=-Hello

would generate 7 tokens (separated by comma) -

http,example.com,I,am,example,Text,Hello

KeywordTokenizerFactory :-

Keyword Tokenizer does not split the input at all.
No processing in performed on the string, and the whole string is treated as a single entity.
This doesn't actually do any tokenization. It returns the original text as one term.

Mainly used for sorting or faceting requirements, where you want to match the exact facet when filtering on multiple words and sorting as sorting does not work on tokenized fields.

e.g.

http://example.com/I-am+example?Text=-Hello

would generate a single token -

http://example.com/I-am+example?Text=-Hello
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文