国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

什么是Tokenizer

2018-11-14 13:55 更新

Tokenizer 的工作是將文本流分解為令牌,其中每個令牌(通常)是文本中字符的子序列。分析器知道它配置的字段,但 tokenizer 不是。Tokenizers 從字符流(Reader)中讀取并生成一系列令牌對象(TokenStream)。

輸入流中的字符可能被丟棄,如空格或其他分隔符。也可以添加或替換它們,例如將別名或縮寫映射到規(guī)范化的窗體。令牌包含除文本值之外的各種元數(shù)據(jù),例如字段中令牌出現(xiàn)的位置。由于 Tokenizer 可能會產(chǎn)生與輸入文本不一致的標記,因此不應假定該標記的文本與字段中出現(xiàn)的文本相同,或者其長度與原始文本相同。也可能有多個令牌具有相同的位置或引用原始文本中的相同偏移量。請記住,如果您使用令牌元數(shù)據(jù)來突出顯示字段文本中的搜索結(jié)果。

<fieldType name="text" class="solr.TextField">
  <analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
  </analyzer>
</fieldType>

在 tokenizer 元素中命名的類不是實際的 tokenizer,而是實現(xiàn) TokenizerFactory API 的類。這個工廠類將被調(diào)用來根據(jù)需要創(chuàng)建新的 tokenizer 實例。由工廠創(chuàng)建的對象必須來自于 Tokenizer,這表示它們產(chǎn)生令牌序列。如果令牌生成器產(chǎn)生可以按原樣使用的令牌,則它可能是分析器的唯一組件。否則,tokenizer 的輸出標記將作為流水線中第一個過濾器階段的輸入。

TypeTokenFilterFactory 可用與創(chuàng)建 TypeTokenFilter 根據(jù)在 factory.getStopTypes 中設置的 TypeAttribute。

有關可用 TokenFilters 的完整列表,請參閱 Tokenizers 部分。

何時使用 CharFilter 與 TokenFilter

有幾個 CharFilter 和 TokenFilter 對具有相關的(即:MappingCharFilter 和 ASCIIFoldingFilter)或幾乎相同的(即:PatternReplaceCharFilterFactory 和PatternReplaceFilterFactory)功能,并且它可能并不總是顯而易見的,這是最好的選擇。

決定使用哪一個 Tokenizer,以及是否需要預處理字符流。

例如,假設你有一個 tokenizer,如 StandardTokenizer,雖然你對它的工作方式感到滿意,但是你想要定制一些特定字符的行為。您可以修改規(guī)則并使用 JFlex 重新構(gòu)建自己的 tokenizer,但是在使用標記和 CharFilter 之前簡單地映射某些字符可能更容易。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號