<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                轉載請注明出處:[http://blog.csdn.net/xiaojimanman/article/details/42804713](http://blog.csdn.net/xiaojimanman/article/details/42804713) **數據分類:** 對于日常生活中的數據,我們可以大致分為如下三大類:**結構化數據**、**非結構化數據**、**半結構化數據**: **結構化數據**:指具有固定格式或有限長度的數據,如數據庫行數據:存在數據庫中,可以用二維表結構來邏輯表達實現的數據 **非結構化數據**:指不定長度或者無固定格式的數據,如郵件、word文檔、音頻、超音頻等 **半結構化數據**:對于這種數據可以按照結構化數據來處理,也可以提取純文本按照非結構化數據來處理,如xml數據 對于不同的數據當然就需要采取不同的檢索方式,結構化數據大家也許都很熟悉,可以用熟悉的sql語句進行檢索,如“select * from student where stuno like '2014%'”,這樣一條簡單的sql語句就可以查找到所有學號以2014開始的學生信息了;那對于非結構化的數據又該如何處理呢?使用sql中的like?這答案顯然是否定的,對于非結構化的數據常用的檢索方式有**順序掃描**、**索引(Index)**,不用測試也可以知道,順序掃描的效率還是相當差的,下面就重點的介紹一下對非結構化數據的索引檢索。 **索引步驟:** 對于非結構化數據采用索引檢索又可以說是全文檢索(Full-Text-Search),在索引過程中,我大致給它分成兩大步驟: 索引創建(Indexing):將結構化數據或非結構化數據提取信息創建索引的過程,具體如下圖左半部分所示: 搜索索引(Search)根據用戶的查詢條件,檢索已創建的索引,返回查詢結果的過程,具體如參照下圖右半部分所示: ![](https://box.kancloud.cn/2016-02-22_56ca7bebd6ac1.jpg) 上圖左半部分就是索引的創建過程,可以將文件系統數據、數據庫數據、web數據等,通過索引的創建,形成最終的索引文件;右半部分是用戶檢索過程,獲取用戶查詢條件,檢索索引庫最終返回檢索結果。 仔細看下上圖,我們很容易會想到下面3個問題: **索引是什么?** **如何創建索引?** **如何進行索引檢索?** 下面就對這三個問題做一一解答。 **索引是什么** 如以前沒有接觸過索引的話,這部分還是很難理解的眾多專業名詞的,因此下面就舉一個簡單的例子來說明下,什么是索引: ?![](https://box.kancloud.cn/2016-02-22_56ca7bec06a66.jpg) 對于上圖中的三個小圖片我想大家并不會太陌生,那現在大家就開回憶一下,我們在使用新華字典去查找一個漢子解釋的這個過程:通過音節索引或者部首索引查找到想要查找的漢子所在的頁碼數-->翻到對應的頁碼,查看該漢字的解釋。下面我們想一下,如果沒有這些音節索引或者部首索引,我們這次檢索過程是不是會花費很長的時間?不知道到現在,你是不是對索引有了一個大概的了解。 其實上圖中間的部分,就相當于我們這里提到的索引,這種由字符串到文件的映射是文件到字符串映射的反向過程,我們就稱這種信息為**反向索引**。 ![](https://box.kancloud.cn/2016-02-22_56ca7bec2e55b.jpg) 上圖中左半部分保存的信息,我們一般稱為**字典**,左側每一個字符串指向右側的文檔鏈接,此文檔鏈表稱為**倒排表**。關于新華字典的例子如何和反向索引對應起來這個就自己思考下。 **如何創建索引** 對于索引的創建,我對其總結出一個三步曲:需要檢索的**數據(Document)**、**分詞技術(Analyzer)**、**索引組建(Indexer)**,可以簡單的參照下圖: ![](https://box.kancloud.cn/2016-02-22_56ca7bec49d41.jpg) 我們還是通過簡單的例子來介紹這個過程 第一步數據:Document事例數據: 你好!我是小李。 中國在哪里? 你是誰? lucene基礎知識學習課程。 你在中石油上學? 中石油在哪里? 第二步:分詞技術,這里采用StandarAnalyzer(標準分詞) 你|好|我|是|小|李| 中|國|在|哪|里| 你|是|誰| lucene|基|礎|知|識|學|習|課|程| 你|在|中|石|油|上|學| 中|石|油|在|哪|里| 第三步:索引創建字典: ![](https://box.kancloud.cn/2016-02-22_56ca7bec64883.jpg) 第三步:索引組建合并詞成倒排表: ![](https://box.kancloud.cn/2016-02-22_56ca7bec7b790.jpg) 到現在,索引文件就已經創建完成。 **如何搜索** 對索引的檢索過程,我對其總結出四步曲:**獲取檢索詞(KeyWords**)、**分詞技術(Analyzer)**、**檢索索引(Aearch)**、**返回結果列表**,可以簡單參照下圖: ![](https://box.kancloud.cn/2016-02-22_56ca7bec8f7e7.jpg) 同樣我們還是繼續接上述事例去說搜索過程 第一步:KeyWord事例數據 中石油 第二步:分詞技術(因為創建索引的時候,采用的是標準分詞,索引在搜索的過程,也應該采用該分詞技術) 中|石|油| 第三步:檢索索引搜索記錄: ![](https://box.kancloud.cn/2016-02-22_56ca7becaa843.jpg) 第四步:返回結果列表 中石油在哪里? 你在中石油上學? 上述三個問題,都已經通過具體的事例進行了解答,由于自己接觸lucene的時間也只是短短的兩年時間,好多原理自己也不是太清楚,所以自己的這系列的博客不會涉及太多的具體原理,如果想做深入的了解,建議還是買一本參考書對其做系統的了解。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看