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