1. 程式人生 > >企業級搜尋引擎Solr 第三章 索引資料(Indexing Data)

企業級搜尋引擎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