W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
CharFilter 是預(yù)處理輸入字符的組件。
CharFilter可以像 Token Filters 一樣鏈接在一個(gè) Tokenizer 前面。
CharFilters 可以添加、更改或刪除字符,同時(shí)保留原始字符偏移以支持突出顯示等功能。
本節(jié)將介紹如下幾個(gè)過濾器:
此過濾器創(chuàng)建 org.apache.lucene.analysis.MappingCharFilter,可用于將一個(gè)字符串更改為另一個(gè)(例如,用于標(biāo)準(zhǔn)化 é 為 e。)。
此過濾器需要指定 mapping 參數(shù),該參數(shù)是包含要執(zhí)行的映射的文件的路徑和名稱。
例:
<analyzer>
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-FoldToASCII.txt"/>
<tokenizer ...>
[...]
</analyzer>
映射文件語(yǔ)法:
轉(zhuǎn)義序列 | 結(jié)果字符(ECMA-48別名) | Unicode字符 | 示例映射線 |
---|---|---|---|
|
| U + 005C |
|
|
| U + 0022 |
|
| 退格(BS) | U + 0008 |
|
| 標(biāo)簽(HT) | U + 0009 |
|
| 換行(LF) | U + 000A |
|
| 換頁(yè)(FF) | U + 000C |
|
| 回車(CR) | U + 000D |
|
| 由4個(gè)十六進(jìn)制數(shù)字引用的 Unicode 字符 | U + XXXX |
|
這個(gè)過濾器創(chuàng)建 org.apache.solr.analysis.HTMLStripCharFilter。此 CharFilter 從輸入流中剝離 HTML 并將結(jié)果傳遞給另一個(gè) CharFilter 或 Tokenizer。
這個(gè)過濾器:
Tip:輸入不一定是一個(gè) HTML 文檔。過濾器只刪除看起來(lái)像 HTML 的構(gòu)造。如果輸入不包含任何看起來(lái)像 HTML 的內(nèi)容,則篩選器不會(huì)刪除任何輸入。
下表介紹了 HTML 剝離的示例:
輸入 | 輸出 |
---|---|
| my link |
| hello |
| hello |
| 如果 a < b,則輸出 a; |
| hello |
| a <b A Alpha&ΩΩ |
例:
<analyzer>
<charFilter class="solr.HTMLStripCharFilterFactory"/>
<tokenizer ...>
[...]
</analyzer>
該過濾器使用 ICU4J 執(zhí)行預(yù)標(biāo)記化 Unicode 標(biāo)準(zhǔn)化。
參數(shù):
一個(gè)Unicode范式,一nfc
,nfkc
,nfkc_cf
。默認(rèn)是nfkc_cf
。
無(wú)論是compose
或decompose
。默認(rèn)是compose
。使用decompose
帶name="nfc"
或name="nfkc"
分別獲得NFD或NFKD。
一個(gè) UnicodeSet 模式。集外的代碼點(diǎn)始終保持不變。默認(rèn)是[]
(空集,沒有過濾 - 所有的碼點(diǎn)都受到規(guī)范化)。
例:
<analyzer>
<charFilter class="solr.ICUNormalizer2CharFilterFactory"/>
<tokenizer ...>
[...]
</analyzer>
此過濾器使用正則表達(dá)式替換或更改字符模式。
參數(shù):
正則表達(dá)式模式應(yīng)用于傳入的文本。
用來(lái)替換匹配模式的文本。
你可以在 schema.xml 中像這樣配置這個(gè)過濾器:
<analyzer>
<charFilter class="solr.PatternReplaceCharFilterFactory"
pattern="([nN][oO]\.)\s*(\d+)" replacement="$1$2"/>
<tokenizer ...>
[...]
</analyzer>
下面的表格給出了基于正則表達(dá)式的模式替換的例子:
輸入 | 模式 | 替代 | 輸出 | 描述 |
---|---|---|---|---|
see-ing looking |
|
| see-ing look | 從詞尾刪除 “ing” |
see-ing looking |
|
| see-ing look | 同上,第二個(gè)括號(hào)可以省略 |
No.1 NO. no. 543 |
|
| #1 NO. #543 | 替換一些字符串文字 |
abc=1234=5678 |
|
| 5678=abc=1234 | 改變組的順序 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: