当前位置: 首页 > 面试题库 >

Solr中StandardTokenizerFactory和KeywordTokenizerFactory之间的区别?

羊舌高峰
2023-03-14
问题内容

我是Solr的新手,我想知道何时使用 StandardTokenizerFactoryKeywordTokenizerFactory
吗?

我阅读了Apache Wiki上的文档,但没有得到。

有人可以解释 StandardTokenizerFactory和KeywordTokenizerFactory之间区别 吗?


问题答案:

StandardTokenizerFactory:-
标记空白,并去除字符

文档:-

在标点符号处拆分单词,删除标点符号。但是,不带空格的点被认为是令牌的一部分。除非连词中有数字,否则用连字符分割单词。在这种情况下,整个令牌将被解释为产品编号,并且不会拆分。将电子邮件地址和Internet主机名识别为一个令牌。

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

例如-

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

会生成7个令牌(用逗号分隔)-

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

KeywordTokenizerFactory:-

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

主要用于排序或构面需求,在筛选多个单词并进行排序时,您希望匹配精确的构面,因为排序不适用于标记化字段。

例如

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

会生成一个令牌-

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


 类似资料:
  • 问题内容: 我有两个问题,可能需要一些帮助来理解它们。 和之间有什么区别?我知道这 意味着在单独的外壳中运行命令,然后将其传递给变量。有人可以帮助我理解这一点吗?如果我错了,请纠正我。 如果我们可以使用并且效果很好,那我为什么不能使用它呢?两者的执行周期有何不同? 问题答案: 语法是令牌级别的,因此美元符号的含义取决于其所在的令牌。表达式是现代代名词,代表命令替换;这意味着运行并将其输出放在此处。

  • 问题内容: 我对和感到困惑。我有两本PHP书。一个说它们是相同的,但是另一个说它们是不同的。我以为他们也一样。 他们不一样吗? 问题答案: 是按位与。请参见按位运算符。假设您这样做: 是逻辑AND。请参阅逻辑运算符。考虑一下这个真值表:

  • 问题内容: 这个问题已经在这里有了答案 : JavaScript比较中应使用哪个等于运算符(== vs ===)? (49个答案) 5个月前关闭。 和之间的区别是什么?我也看过和运算符。还有更多这样的运营商吗? 问题答案: 并且是严格的比较运算符: JavaScript具有严格和类型转换相等性比较。为了相等,要比较的对象必须具有相同的类型,并且: 当两个字符串在相同位置具有相同的字符序列,相同的长

  • 问题内容: 我错放了太多次了,我想我一直忘记,因为我不知道两者之间的区别,只是一个给了我我期望的价值,而另一个却没有。 为什么是这样? 问题答案: 是的简写形式(尽管请注意,该表达式只会被计算一次。) 是的,即指定一元的到。 例子:

  • 问题内容: 因此,我有一段简单的代码可以打印出整数1-10: 然后,如果仅在第3行上更改一个运算符,它将打印出无限数量的1整数(我知道为什么会这样做)。为什么在运行第二个程序时没有出现语法错误?如果赋值运算符后面跟着一个加法运算符,它不会调用语法错误吗? 问题答案: 与相同, 只是意味着。