W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
MoreLikeThis 搜索組件使用戶能夠查詢與結(jié)果列表中的文檔類似的文檔。
它通過(guò)使用原始文檔中的術(shù)語(yǔ)在索引中查找類似的文檔來(lái)做到這一點(diǎn)。
您可以通過(guò)三種方法使用 MoreLikeThis 搜索組件。第一個(gè),也是最常見(jiàn)的,就是將它用作請(qǐng)求處理程序。在這種情況下,您可以根據(jù)需要將文本發(fā)送到 MoreLikeThis 請(qǐng)求處理程序(如用戶單擊“類似文檔”鏈接時(shí))。
第二種方法是將其用作搜索組件。這是不太理想的,因?yàn)樗鼘?duì)每個(gè)返回的文檔執(zhí)行 MoreLikeThis 分析,這可能會(huì)降低搜索結(jié)果。
最后的方法是將其用作請(qǐng)求處理程序,但使用外部提供的文本。這種情況,也被稱為 MoreLikeThisHandler,將根據(jù)輸入文檔的文本提供索引中有關(guān)類似文檔的信息。
MoreLikeThis 基于文檔中的術(shù)語(yǔ)構(gòu)造 Lucene 查詢。它通過(guò)從定義的字段列表中提取 term 來(lái)實(shí)現(xiàn)這一點(diǎn)(請(qǐng)參閱下面的 mlt. fl 參數(shù))。為了獲得最佳結(jié)果,這些字段應(yīng)該已經(jīng)在 schema.xml 中存儲(chǔ)了詞條(term)向量。例如:
<field name="cat" ... termVectors="true" />
如果 term 向量不存儲(chǔ),MoreLikeThis 將從存儲(chǔ)的字段中生成 term。為了使 MoreLikeThis 正常工作,還必須存儲(chǔ) uniqueKey。
下一個(gè)階段使用 MoreLikeThis 參數(shù)定義的閾值來(lái)過(guò)濾來(lái)自原始文檔的 term。最后,使用這些 term 運(yùn)行查詢,并返回已定義的任何其他查詢參數(shù)(請(qǐng)參閱下面的 mlt. qf 參數(shù))和新的文檔集。
以下總結(jié)了 Lucene/Solr 支持的 MoreLikeThis 參數(shù)。這些參數(shù)可以與三種可能的 MoreLikeThis 方法中的任何一種一起使用。
指定用于相似性的字段。如果可能,這些應(yīng)該已經(jīng)存儲(chǔ)termVectors
。
指定最小 term 頻率(Minimum Term Frequency),即在源文檔中將忽略哪些 term 的頻率。
指定“最小文檔頻率”(Minimum Document Frequency),這是詞被忽略的頻率,至少在很多文檔中不會(huì)出現(xiàn)。
指定“最大文檔頻率”,這是在多個(gè)文檔中出現(xiàn)的詞被忽略的頻率。
設(shè)置單詞將被忽略的最小字長(zhǎng)。
設(shè)置單詞將被忽略的最大字長(zhǎng)。
設(shè)置將包含在任何生成的查詢中的查詢條件的最大數(shù)量。
設(shè)置未在 TermVector 支持下存儲(chǔ)的每個(gè)示例文檔字段中要解析的最大標(biāo)記數(shù)。
指定查詢是否被有趣的術(shù)語(yǔ)“相關(guān)性”提升。它可以是“true”或“false”。
使用與 DisMax 查詢解析器所使用的格式相同的查詢字段及其 boost。這些字段也必須在 mlt. fl 中指定。
使用 MoreLikeThis 作為搜索組件返回響應(yīng)集中每個(gè)文檔的類似文檔。除了通用參數(shù)之外,還可以使用這些附加選項(xiàng):
如果設(shè)置為true
,激活MoreLikeThis
組件并使得 Solr 返回MoreLikeThis
結(jié)果。
指定要為每個(gè)結(jié)果返回的相似文檔的數(shù)量。默認(rèn)值是5。
以下總結(jié)了可通過(guò) MoreLikeThisHandler 訪問(wèn)的參數(shù)。它支持使用通用查詢參數(shù)進(jìn)行分面、分頁(yè)和過(guò)濾,但不能很好地處理備用查詢解析器。
指定響應(yīng)是否應(yīng)包含匹配的文檔。如果設(shè)置為 false,則響應(yīng)看起來(lái)像正常的選擇響應(yīng)。
指定在主查詢搜索結(jié)果中的偏移量,以定位 MoreLikeThis 查詢應(yīng)在其上操作的文檔。默認(rèn)情況下,查詢對(duì) q 參數(shù)的第一個(gè)結(jié)果進(jìn)行操作。
控制MoreLikeThis
組件如何為查詢提供 "interesting" 術(shù)語(yǔ)(頂部TF / IDF術(shù)語(yǔ))。支持三個(gè)設(shè)置。設(shè)置列表中列出了這些 term。設(shè)置沒(méi)有列出任何 term。設(shè)置細(xì)節(jié)列出了 term 以及每個(gè) term 使用的 boost 值。除非mlt.boost=true
,否則所有條件都會(huì)有boost=1.0
。
mlt 查詢解析器提供了一種機(jī)制,用于檢索類似于給定文檔的文檔,如處理程序。有關(guān) mlt 查詢解析器用法的更多信息,可在其他解析器部分找到。
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)系方式:
更多建議: