99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Solr過(guò)濾器類(lèi)型(一)

2018-11-15 14:45 更新

Solr 過(guò)濾器可以檢查一個(gè)令牌流,并保留它們,根據(jù)所使用的過(guò)濾器類(lèi)型對(duì)它們進(jìn)行轉(zhuǎn)換或丟棄。

您可以使用在 schema.xml 中的 <filter> 元素作為子元素來(lái)配置每個(gè)過(guò)濾器,在 <tokenizer> 元素之后。過(guò)濾器定義應(yīng)遵循 tokenizer 或其他過(guò)濾器定義,因?yàn)樗鼈儾捎?TokenStream 作為輸入。例如:

<fieldType name="text" class="solr.TextField">
  <analyzer type="index">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>...
  </analyzer>
</fieldType>

類(lèi)屬性命名一個(gè)工廠(chǎng)類(lèi),它將根據(jù)需要實(shí)例化一個(gè)過(guò)濾器對(duì)象。過(guò)濾器工廠(chǎng)類(lèi)必須實(shí)現(xiàn) org.apache.solr.analysis.TokenFilterFactory 接口。像 tokenizers 一樣,過(guò)濾器也是 TokenStream 的實(shí)例,因此是令牌的生產(chǎn)者。與 tokenizers 不同,過(guò)濾器也消耗 TokenStream 中的標(biāo)記。這允許您按照您喜歡的任何順序在 tokenizers 下游混合和匹配過(guò)濾器。

通過(guò)在 <filter> 元素上設(shè)置屬性,可以將參數(shù)傳遞給 tokenizer 工廠(chǎng)以修改其行為。例如:

<fieldType name="semicolonDelimited" class="solr.TextField">
  <analyzer type="query">
    <tokenizer class="solr.PatternTokenizerFactory" pattern="; " />
    <filter class="solr.LengthFilterFactory" min="2" max="7"/>
  </analyzer>
</fieldType>

以下各節(jié)介紹了此版本 Solr 中包含的過(guò)濾器工廠(chǎng)。

有關(guān) Solr 過(guò)濾器的用戶(hù)提示,請(qǐng)參閱:http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters。

ASCII 折疊過(guò)濾器

此篩選器將不在 Basic Latin Unicode 塊(前 127 個(gè) ASCII 字符)中的字母、數(shù)字和符號(hào) Unicode 字符轉(zhuǎn)換為其 ASCII 等效字符(如果存在)。此過(guò)濾器轉(zhuǎn)換來(lái)自以下 Unicode 塊的字符: 

工廠(chǎng)類(lèi): solr.ASCIIFoldingFilterFactory

參數(shù):

preserveOriginal

(boolean,默認(rèn)為false)如果為true,則保留原始標(biāo)記:“thé” - >“the”,“thé”

示例:

<analyzer>
  <tokenizer class="solr.WhitespaceTokenizer"/>
  <filter class="solr.ASCIIFoldingFilterFactory" preserveOriginal="false" />
</analyzer>

輸入: “á”(Unicode 字符 00E1)

輸出: “a”(ASCII 字符 97)

Beider-Morse 過(guò)濾器

實(shí)現(xiàn)了 Beider-Morse Phonetic Matching (BMPM) 算法,該算法允許識(shí)別相似的名稱(chēng),即使它們拼寫(xiě)不同或使用不同的語(yǔ)言。有關(guān)如何工作的更多信息,請(qǐng)參見(jiàn)拼音匹配部分。

Tip:BeiderMorseFilter 由于對(duì) BMPM 算法 3.04 版本的更新而改變了其在 Solr 5.0 中的行為。舊版本的 Solr 實(shí)現(xiàn)了 BMPM 版本 3.00 (參見(jiàn) http://stevemorse.org/phoneticinfo.htm)。使用此過(guò)濾器與早期版本的 Solr 建立的任何索引都需要重建。

工廠(chǎng)類(lèi): solr.BeiderMorseFilterFactory

參數(shù):

nameType

名字的類(lèi)型。有效值是 GENERIC、ASHKENAZI 或 SEPHARDIC。如果不是處理 Ashkenazi 或 Sephardic 名字,請(qǐng)使用 GENERIC。

ruleType

適用的規(guī)則類(lèi)型。有效值是 APPROX 或 EXACT。

concat

定義多個(gè)可能的匹配是否應(yīng)該與管道(“|”)組合。

languageSet

設(shè)置使用的語(yǔ)言。值 “auto” 將允許過(guò)濾器識(shí)別語(yǔ)言,或者可以提供逗號(hào)分隔列表。

示例:

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.BeiderMorseFilterFactory" nameType="GENERIC" ruleType="APPROX" concat="true" languageSet="auto">
  </filter>
</analyzer>

經(jīng)典過(guò)濾器

該過(guò)濾器使用經(jīng)典 Tokenizer 的輸出,并從所有格中去除首字母縮寫(xiě)詞和 “s” 的句號(hào)。

工廠(chǎng)類(lèi): solr.ClassicFilterFactory

參數(shù):無(wú)

示例:

<analyzer>
  <tokenizer class="solr.ClassicTokenizerFactory"/>
  <filter class="solr.ClassicFilterFactory"/>
</analyzer>

輸入:"I.B.M. cat’s can’t"

Tokenizer 過(guò)濾: "I.B.M", "cat’s", "can’t"

輸出:"IBM", "cat", "can’t"

普通 Grams 過(guò)濾器

此過(guò)濾器通過(guò)將常用標(biāo)記(如 "停止單詞" 和 "常規(guī)標(biāo)記")組合在一起來(lái)創(chuàng)建詞匯組合。這對(duì)創(chuàng)建包含常用詞的短語(yǔ)查詢(xún)非常有用,如 “cat”。Solr 通常會(huì)忽略在查詢(xún)短語(yǔ)中的停止單詞,因此搜索 “the cat” 會(huì)返回單詞 “cat” 的所有匹配。

工廠(chǎng)類(lèi): solr.CommonGramsFilterFactory

參數(shù):

words

(.txt 格式的常用單詞文件)提供常用單詞文件的名稱(chēng),例如stopwords.txt。

format

(可選)如果停用詞表已經(jīng)為 Snowball 格式化,您可以指定format="snowball"Solr 可以讀取停用詞文件。

ignoreCase

(boolean 類(lèi)型值)如果為 true,則在將它們與常用單詞文件進(jìn)行比較時(shí),該過(guò)濾器將忽略單詞的大小寫(xiě)。默認(rèn)值是false。

示例:

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/>
</analyzer>

輸入:"the Cat"

Tokenizer 過(guò)濾: "the", "Cat"

輸出: “the_cat”

排序鍵過(guò)濾器

整理允許以對(duì)語(yǔ)言敏感的方式排序文本。它通常用于排序,但也可以用于高級(jí)搜索。我們?cè)?Unicode 排序部分詳細(xì)介紹了這一點(diǎn)。

Daitch-Mokotoff Soundex 過(guò)濾器

實(shí)現(xiàn)了 Daitch-Mokotoff Soundex 算法,該算法允許識(shí)別相似的名稱(chēng),即使它們拼寫(xiě)有所不同。有關(guān)如何工作的更多信息,請(qǐng)參見(jiàn)拼音匹配部分。

工廠(chǎng)類(lèi): solr.DaitchMokotoffSoundexFilterFactory

參數(shù):

inject

(true / false)如果為 true(默認(rèn)),則新的語(yǔ)音標(biāo)記被添加到流中。否則,令牌替換為語(yǔ)音等價(jià)物。將其設(shè)置為 false 將啟用拼音匹配,但目標(biāo)單詞的確切拼寫(xiě)可能不匹配。

示例:

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.DaitchMokotoffSoundexFilterFactory" inject="true"/>
</analyzer>

雙 Metaphone 過(guò)濾器

這個(gè)過(guò)濾器使用 DoubleMetaphone 編碼算法從共同性-編解碼器創(chuàng)建令牌。有關(guān)更多信息,請(qǐng)參閱拼音部分。

工廠(chǎng)類(lèi): solr.DoubleMetaphoneFilterFactory

參數(shù):

inject

(true / false)如果為true(默認(rèn)),則新的語(yǔ)音標(biāo)記被添加到流中。否則,令牌替換為語(yǔ)音等價(jià)物。將其設(shè)置為 false 將啟用拼音匹配,但目標(biāo)單詞的確切拼寫(xiě)可能不匹配。

maxCodeLength

(整數(shù))要生成的代碼的最大長(zhǎng)度。

示例:

注入(true)的默認(rèn)行為:保留原始標(biāo)記并將語(yǔ)音標(biāo)記添加到同一位置。

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.DoubleMetaphoneFilterFactory"/>
</analyzer>

輸入: "four score and Kuczewski"

Tokenizer 過(guò)濾:"four"(1), "score"(2), "and"(3), "Kuczewski"(4)

輸出: "four"(1), "FR"(1), "score"(2), "SKR"(2), "and"(3), "ANT"(3), "Kuczewski"(4), "KSSK"(4), "KXFS"(4)

語(yǔ)音標(biāo)記的位置增量為 0,表示它們與它們從之前導(dǎo)出的標(biāo)記位于相同的位置。請(qǐng)注意,“Kuczewski” 有兩個(gè)編碼,它們?cè)谕晃恢锰砑印?br>

示例:

放棄原始標(biāo)記(inject="false")。

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
</analyzer>

輸入: "four score and Kuczewski"

Tokenizer 過(guò)濾:  "four"(1), "score"(2), "and"(3), "Kuczewski"(4)

輸出:"FR"(1), "SKR"(2), "ANT"(3), "KSSK"(4), "KXFS"(4)

請(qǐng)注意,“Kuczewski” 有兩個(gè)編碼,在相同位置添加。

邊緣 N-gram 過(guò)濾器

這個(gè)過(guò)濾器在給定的范圍內(nèi)生成大小的邊緣 n-gram 標(biāo)記。

工廠(chǎng)類(lèi): solr.EdgeNGramFilterFactory

參數(shù):

minGramSize

(整數(shù),默認(rèn)1)最小 gram 大小。

maxGramSize

(整數(shù),默認(rèn)1)最大 gram 大小。

示例:

默認(rèn)行為。

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.EdgeNGramFilterFactory"/>
</analyzer>

輸入:"four score and twenty"

Tokenizer 過(guò)濾:"four", "score", "and", "twenty"

輸出:"f", "s", "a", "t"

示例:

范圍從1到4。

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="4"/>
</analyzer>

輸入: "four score"

Tokenizer 過(guò)濾器:"four", "score"

輸出:"f", "fo", "fou", "four", "s", "sc", "sco", "scor"

示例:

范圍從4到6。

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.EdgeNGramFilterFactory" minGramSize="4" maxGramSize="6"/>
</analyzer>

輸入:"four score and twenty"

Tokenizer 過(guò)濾:"four", "score", "and", "twenty"

輸出:"four", "scor", "score", "twen", "twent", "twenty"

英語(yǔ)最小閥桿過(guò)濾器

這個(gè)過(guò)濾器把復(fù)數(shù)的英語(yǔ)單詞變成單數(shù)形式。

工廠(chǎng)類(lèi): solr.EnglishMinimalStemFilterFactory

參數(shù):無(wú)

示例:

<analyzer type="index">
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.EnglishMinimalStemFilterFactory"/>
</analyzer>

輸入: "dogs cats"

Tokenizer 過(guò)濾: "dogs", "cats"

輸出:"dog", "cat"

英語(yǔ)所有格過(guò)濾器

該過(guò)濾器從單詞中移除奇異的所有格(尾隨的 s')。請(qǐng)注意,復(fù)數(shù)的所有格,例如 “divers' snorkels” 中的“ s' ”,并沒(méi)有被這個(gè)過(guò)濾器移除。

工廠(chǎng)類(lèi): solr.EnglishPossessiveFilterFactory

參數(shù):無(wú)

示例:

<analyzer>
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  <filter class="solr.EnglishPossessiveFilterFactory"/>
</analyzer>

輸入: "Man’s dog bites dogs' man"

Tokenizer 過(guò)濾:"Man’s", "dog", "bites", "dogs'", "man"

輸出:"Man", "dog", "bites", "dogs'", "man"

指紋過(guò)濾器

該過(guò)濾器輸出單個(gè)令牌,該令牌是經(jīng)過(guò)排序和去重的一組輸入令牌的串聯(lián)。這對(duì)集群/鏈接用例很有用。

工廠(chǎng)類(lèi): solr.FingerprintFilterFactory

參數(shù):

separator

用于分隔令牌的字符組合成單個(gè)輸出令牌。默認(rèn)為 “”(空格字符)。

maxOutputTokenSize

摘要輸出令牌的最大長(zhǎng)度。如果超過(guò),則不會(huì)輸出令牌。默認(rèn)為1024。

示例:

<analyzer type="index">
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  <filter class="solr.FingerprintFilterFactory" separator="_" />
</analyzer>

輸入: "the quick brown fox jumped over the lazy dog"

Tokenizer 過(guò)濾器: “the”,“quick”,“brown”,“fox”,“jumped”,“over”,“the”,“l(fā)azy”,“dog”

輸出:"brown_dog_fox_jumped_lazy_over_quick_the"

平展圖形過(guò)濾器

此過(guò)濾器必須包含在索引時(shí)間分析器規(guī)范中,該規(guī)范至少包含一個(gè)圖形識(shí)別過(guò)濾器,包括同義詞圖形過(guò)濾器和字符分隔符圖形過(guò)濾器。

工廠(chǎng)類(lèi): solr.FlattenGraphFilterFactory

參數(shù):無(wú)

有關(guān)同義詞圖形篩選器和字符分隔符圖形篩選器,請(qǐng)參閱下面的示例。

Hunspell Stem 過(guò)濾器

在 Hunspell Stem Filter 提供幾種語(yǔ)言的支持。您必須為您希望用于 Hunspell Stem Filter 的每種語(yǔ)言提供 dictionary(.dic)和 rules(.aff)文件。

你可以在這里下載這些語(yǔ)言文件。

請(qǐng)注意,根據(jù)提供的詞典和規(guī)則文件的質(zhì)量,結(jié)果會(huì)有很大差異。例如,一些語(yǔ)言只有一個(gè)最小的單詞列表,沒(méi)有形態(tài)信息。另一方面,對(duì)于沒(méi)有詞干的語(yǔ)言,但有一個(gè)廣泛的字典文件,Hunspell 詞干可能是一個(gè)不錯(cuò)的選擇。

工廠(chǎng)類(lèi): solr.HunspellStemFilterFactory

參數(shù):

dictionary

(必填)字典文件的路徑。

affix

(必需)規(guī)則文件的路徑。

ignoreCase

(boolean)控制匹配是否區(qū)分大小寫(xiě)。默認(rèn)值是 false。

strictAffixParsing

(boolean)控制詞綴解析是否嚴(yán)格。如果為 true,則讀取附加規(guī)則時(shí)出錯(cuò)將導(dǎo)致 ParseException,否則將被忽略。默認(rèn)值是 true。

示例:

<analyzer type="index">
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  <filter class="solr.HunspellStemFilterFactory"
    dictionary="en_GB.dic"
    affix="en_GB.aff"
    ignoreCase="true"
    strictAffixParsing="true" />
</analyzer>

輸入: "jump jumping jumped"

Tokenizer 過(guò)濾器:"jump", "jumping", "jumped"

輸出:"jump", "jump", "jump"

連字過(guò)濾器

這個(gè)過(guò)濾器重建由于字段測(cè)試中的換行符或其他介入的空白字符而被標(biāo)記為兩個(gè)標(biāo)記的連字符。如果令牌以連字符結(jié)尾,則使用下面的令牌連接,連字符將被丟棄。

請(qǐng)注意,為使此過(guò)濾器正常工作,上游標(biāo)記化程序不得刪除尾部連字符。這個(gè)過(guò)濾器通常只在索引時(shí)有用。

工廠(chǎng)類(lèi): solr.HyphenatedWordsFilterFactory

參數(shù):無(wú)

示例:

<analyzer type="index">
  <tokenizer class="solr.WhitespaceTokenizerFactory"/>
  <filter class="solr.HyphenatedWordsFilterFactory"/>
</analyzer>

輸入:"A hyphen- ated word"

Tokenizer 過(guò)濾: "A", "hyphen-", "ated", "word"

輸出:"A", "hyphenated", "word"

ICU 折疊過(guò)濾器

此過(guò)濾器是一種自定義 Unicode 規(guī)范化表單,它應(yīng)用可在 unicode 技術(shù)報(bào)告30中指定的 NFKC_Casefold,以及在 ICU 標(biāo)準(zhǔn)件2過(guò)濾器中所描述的標(biāo)準(zhǔn)化格式化形式。此過(guò)濾器是 ASCII 折疊過(guò)濾器,小寫(xiě)過(guò)濾器和 ICU 規(guī)范器2過(guò)濾器的組合行為的更好替代品。NFKC_Casefold

要使用此過(guò)濾器,請(qǐng)參閱 solr/contrib/analysis-extras/README.txt 以獲取您需要添加到您的 solr_home/lib 的 jar 的說(shuō)明。有關(guān)添加 jar 的更多信息,請(qǐng)參閱Solrconfig 中的 Lib 指令部分。

工廠(chǎng)類(lèi): solr.ICUFoldingFilterFactory

參數(shù):無(wú)

示例:

<analyzer>
  <tokenizer class="solr.StandardTokenizerFactory"/>
  <filter class="solr.ICUFoldingFilterFactory"/>
</analyzer>

有關(guān)此規(guī)范化表單的詳細(xì)信息,請(qǐng)參閱:http://www.unicode.org/reports/tr30/tr30-4.html。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)