企業級搜尋引擎Solr 第三章 索引資料(Indexing Data)
Indexing richer documents
索引對MIDI檔案中的卡拉OK歌詞建索引是個微不足道的例子了。我們只簡單的忽略了所有的內容,然後把它們存到Solr的text域中,不對文件的結構進行任何的處理。
但是其它的文件結構,比如PDF,會更復雜,只是取得文字可能不會得到很好的搜尋結果。我們看一下Take a Chance on Me,它是一個解釋Monte Carlo模擬是什麼的PDF檔案。
開啟./examples/3/karaoke/mccm.pdf,你會看到一個複雜的PDF有很多字元,背景圖片,複雜的數學公式,希臘字母,和圖表。儘管這個PDF很複雜,索引它和索引卡拉OK檔案一樣簡單:
>> curl 'http://localhost:8983/solr/karaoke/update/extract?map.
content=text&commit=true' -F "[email protected]"
如果你將檔名作為stream_name的引數進行搜尋:http://localhost:8983/solr/karaoke/select/?q=stream_name:mccm.pdf,你會看到由Tika抽取出的Last_modified元資料被對映到solrconfig.xml中的last_modified域。
其中設定的lowercase=true會將Last-Modified對映到last_modified,使它符合域名的規範。
<doc>
<arr name="id">
<str>mccm.pdf</str>
</arr>
<arr name="last_modified">
<str>Sun Mar 03 15:55:09 EST 2002</str>
</arr>
<arr name="text">
<str>
Take A Chance On Me
那麼對於富文件,我們將如何處理元資料和內容呢?在URL加入extractOnly=true,它會輸出Solr Cell解析出的XML文件,包括元資料域,而不對文件建索引。
追加wt=json會使它更容易解析出內嵌的XML內容:
>> curl 'http://localhost:8983/solr/karaoke/update/extract?extractOnly=tr
ue&wt=json&indent=true' -F "[email protected]"
複製貼上JSON輸出中內嵌的XML內容,用你最喜歡的HTML瀏覽工具檢視內容。我用的是TextMate的HTML外掛,另一個不錯的選擇在http://xmlindent.com/。
<html>
<head>
<meta name="stream_source_info" content="file">
<meta name="subject" content="Monte carlo condensed">
<meta name="Last-Modified" content="2002-03-03T20:55:09Z">
<meta name="Author" content="Andrew" n.=">
<meta name="xmpTPg:NPages" content="11">
<meta name="Creation-Date" content="2002-03-03T20:53:14Z">
<meta name="Keywords" content="ABBA">
<title>
Take A Chance On Me
</title>
</head>
<body>
<p>
"\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
</p>
<div class="page">
\n\n
<p>
Take A Chance On MeMonte Carlo Condensed MatterA very brief
guide to Monte Carlo simulation.An explanation of what I do.A chance
for far too many ABBA puns.
</p>\n
</div>
<p>
\n
</p>
<div class="page">
\n\n
<p>
What's The Name Of The Game?Simulation:'I have a dream,
a fantasy,to help me through reality'Given some model many-body
system.Simulate the evolution of the system.We can then measure
various observables.Attempt to predict properties of real systems.
Eg Equilibrium Properties All about knowing free-energies, phase
behavior, compressibility, specific heat,knowing M(E), knowing m.
</p>\n
</div>
返回的XHTML文件包含從文件在<head/>中的元資料,還有以XHTML格式表示的正文內容。
相關推薦
企業級搜尋引擎Solr 第三章 索引資料(Indexing Data)
Indexing richer documents 索引對MIDI檔案中的卡拉OK歌詞建索引是個微不足道的例子了。我們只簡單的忽略了所有的內容,然後把它們存到Solr的text域中,不對文件的結構進行任何的處理。 但是其它的文件結構,比如PDF,會更復雜,只是取得文字可能不會得到很好
《機器學習》 周志華學習筆記第三章 線性模型(課後習題)python 實現
線性模型 一、內容 1.基本形式 2.線性迴歸:均方誤差是迴歸任務中最常用的效能度量 3.對數機率迴歸:對數機率函式(logistic function)對率函式是任意階可導的凸函式,這是非常重要的性質。 4.線性判別分析(LDA 是一種降維的方法) 5.多分類學習:
C++Primer第五版 第三章習題答案(31~40)
1:這個的話沒什麼難度吧,記住下標從0開始就好了 #include <iostream> #include <string> #include <vector>
Redis 第三章 1資料結構—字串
Key的定義注意點: 不要太長,或者太短。 統一的命名規範。 儲存String,以二進位制儲存 。最大儲存長度512M。 儲存String常用命令 賦值 取值 刪除 數值增減 擴充套件命令 連線到redis控制檯: //切換到bin目錄 cd /usr/local/bin /
大資料導論托馬斯—第三章大資料採用及規劃考慮
背景引入: 鑑於大資料的性質及其分析能力,在專案開始時需要考慮和計劃許多問題,因此要求組織識別並建立一套獨特的治理流程和決策框架,以確保責任方瞭解大資料的性質,影響和管理要求。第三章通過詳細講解大資料分析時的主要的潛在問題和注意事項。 3.1-3.5資料分析之前
第三章 JSP資料互動(二)
JSP使用cookie:建立cookie物件Cookie newCookie=new Cookie(String key,String value);寫入cookieresponse.addCookie(newCookie);讀取cookieCookie[] cookie=request.getCookies
第三章JSP資料互動(=)
jsp內建物件application 在更大範圍內儲存資料 作用域對比: request 單次請求 session N次請求 一次對話 application 整個應用 N次對話 作用域比較 page <request<session&
讀書筆記之《Go程式設計語言》---第三章 基本資料
基本資料 基礎型別:數值型別、字串、布林 集合型別:陣列、結構體 引用型別:指標、slice、map、函式、通道 介面型別:第七章討論 整數 go數值型別包含了幾種不同大小的整數、浮點數和複數 宣告:var name int 知識點: 有符
Python語言程式設計(MOOC崇天)第三章基本資料型別學習筆記(天天向上的力量+文字進度條)
回顧: 第一章 第二章 本週內容:基本資料型別 3.1數字型別及操作 整數型別: 浮點數 浮點數計算存在不確定尾數的原因....... 浮點數可以採用科學計數法表示 複數型別: 傅立葉變換用的多.....這
第三章 JSP資料互動(二)
1,編寫一個JSP頁面,統計網頁被訪問次數 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HT
第三章 控件(6~7課)
pan 獨立 兩種 color 代碼 父窗口 及其 所有 外觀 第6課:創建和使用控件 第7課:常用控件 概述: 在MFC中,控件是具有獨立功能的人機交互的小窗口,它們除了可以使用自身成員外,還可使用其基類CWnd類的公有成員,因為幾乎所有的控件類都是從CWnd類派生而
第三章 寄存器(內存訪問)
push 來安 直接 分享圖片 info cpu 防止 修改 mov指令 一、一個字=兩個字節。地位字節存放在低地址單位中,高位字節存放在高地址單元中,取低地址內存單元作為字數據地址。(小端法) 引入概念:字單元:存放一個字型數據的內存單元,由兩個地址連
第三章 寄存器(內存訪問)相關內容總結
管理 讀寫 理解 元組 實驗 記錄 需要 默認 內部 在本章中,我們從訪問內存的角度繼續學習了幾個寄存器。我們提出字單元的概念:字單元,即存放一個字型數據(16位)的內存單元,由兩個地址連續的內存單元組成。高地址內存單元中存放字型數據的高位字節,低地址內存單元中
編譯原理 第三章 詞法分析(上)
3.1.1 為什麼編譯器要把詞法分析和語法分析分開 3.1.2 詞法單元、模式和詞素(重要) 例: 3.1.3 詞法單元的屬性(重要) 詞法單元的屬性是用來記錄相對應的詞素的一些相關屬性資訊。 例: int x = 10 + 20
編譯原理 第三章 詞法分析(下)
3.6 有窮自動機(非常重要) 3.6.1 不確定的有窮自動機(重要) 例: 狀態0是開始狀態, 在狀態0上輸入符號b會進入狀態0,輸入a可能進去狀態0也有可能進入狀態1。所以對於狀態0來說一個確定的輸入符號a他有兩種離開狀態,這就是一種不確定的狀態。 &nbs
windows 程式設計 第三章讀書筆記(上)
孃的,今天晚上在陽臺做飯把水管一腳踢爆了,水流到下面的住戶的陽臺,讓個老孃們把我罵了一頓,本著做錯事的原則,我裝的很紳士還說了個對不起,擦,真是條純漢子,能屈能伸。
javascript學習筆記(第三章DOM--獲取元素屬性值)
javascript學習筆記(第三章DOM–獲取元素屬性值) 在上一節中我們大致總結了獲取元素的三種方法,分別為:getElementById,getElementsByTagName,getElementsByClass,其中getElementById獲取的
第三章選擇結構(一)
一、boolean 型別: 值只有兩個:true(真)和false(假) 二、常用的關係符: > < >= <= != == 作用:用來比較運算結果,值是boolean型別。. 三、if選擇結構的語法: if(boolean){ 程式碼塊 } 含義:如果boole
Kali Linux 網路掃描祕籍 第三章 埠掃描(一)
第三章 埠掃描(一) 作者:Justin Hutchens 譯者:飛龍 3.1 UDP埠掃描 由於 TCP 是更加常用的傳輸層協議,使用 UDP 的服務常常被人遺忘。雖然 UDP 服務本質上擁有被忽視的趨勢,這些服務可以列舉,
java SSM第三章學習內容(動態SQL語句)
一. if判斷語句 用法:可以在SQL語句下加if標籤用於判斷 xml <!-- if判斷 --> <select id="selectif" resultMap="BillProviderResult"> SELECT