Subject: OurNet::FuzzyIndex Draft #2
Date: Wed, 11 Oct 2000 00:08:25 +0800 (CST)
From: whiteg.bbs@bbs.cvic.org
To: wct85u@cs.ccu.edu.tw

作者: autrijus (天風) 看板: Document
標題: OurNet::FuzzyIndex Draft #2
時間: Mon Sep  4 20:51:25 2000

Features of OurNet::FuzzyIndex
==============================
(draft #2)

[ Quote ]

老子: 「惚兮恍兮，中有索引；恍兮惚兮，中有查詢。窈兮冥兮，中有分析。
        其果甚真﹐其中有信。自今及古﹐其合不去﹐以閱眾頁。吾何以知眾
        頁之狀哉﹖以此。」

[ Synopsis ]

OurNet::FuzzyIndex模組使以下操作如捌雷伍般順暢！

- 「將辛苦搜集的資料一夕之間變得人盡可孵」
- 「瞬間找到要抄襲他人文宣的第幾章第幾節」
- 「為所有知識庫中的功能說明即時找到相關的使用者抱怨信」
- 「生出可愛的線上琥珀與您活色生香地交談」

[ Highlights ]

1.分散式資料庫

  使用者可同時查詢/檢索多個索引檔，並彈性選擇查詢的資料範圍。

  另外，FuzzyIndex會自動將太大的索引檔切割成多個子索引檔；當使用
  者進行查詢時，能根據其關鍵字判斷其範圍，只到所屬的子索引檔中檢
  索，大幅增進了檢索資料的效率。

2.多語系同時查詢

  支援多國語言查詢，目前提供英文/歐語系(Latin-1)及繁體中文(Big5)
  字集，並即將加上簡體中文(GB/HZ)、日文(Shift-JIS)等.

  由於FuzzyIndex以通用碼(UTF-8)作為中介碼，客戶可簡便地轉換不同
  編碼的資料，只需要加入該語系的locale map即可。

3. 自然語言模糊比對

  FuzzyIndex使用以彈性模糊比對為主的核心技術，可依需求提供多種查
  詢語法介面，包括精確比對、布林、自然語言、加減查詢等，讓使用者
  能更有效地快速獲得所要的資訊。

4. 原始文字資料格式不限

  無論原始資料採用何種格式，FuzzyIndex都可直接建立索引檔，不需經
  過繁雜的前置作業，或強制將資料轉為單一格式。因此，FuzzyIndex可
  輕易支援以pdf、xml/html、word、latex或資料庫型式存放的內容。

5. 可接受動態產生的資料來源

  不同於其他全文檢索系統，FuzzyIndex的索引檔包含了所有檢索所需的
  資訊，不需於每次查詢時參考原始資料內容。因此，如果原始資料放在
  不易存取之處(如遠端資料庫或動態即時資料)，FuzzyIndex仍可照常運
  作。

6. 無與倫比的查詢速度與延展性

  由於免除了參考原始內容的負擔，FuzzyIndex的查詢速度極快(至少100
  Mb/s)，並且於多人同時檢索時仍消耗相當少量的系統資源。

  索引檔的大小約是原始資料量的80%~90%。在一般伺服器配備下，建檔速
  度約在100Kb/s左右。

  FuzzyIndex可輕易處理3Gb左右的索引檔；在檢索上萬筆的資料時，可採
  用「子索引檔」架構以進一步提昇數倍效率。

7. 動態更新／刪除，無需重新建檔

  FuzzyIndex支援漸進式索引(incremental indexing)，能夠動態新增／刪
  除索引檔內的資料，毋須於每次原始資料更動時重建資料庫。除此之外，
  客戶也可以自訂額外的資料欄位(如作者、標題、日期等)並進行比對。

8. 限定範圍檢索

  使用者在查詢時，可自定索引檔中的特定部份作為查詢範圍。例如，若第
  一次查詢結果的筆數過大，使用者可以進一步輸入關鍵字，在其中作第二
  次的查詢，以逐步縮簡資料量並增進精確度。

  另外，使用者也可用其他方式限定檢索範圍，例如所屬類別或其他自訂的
  資料欄位等。

[ Components ]

8. 限定範圍檢索

  使用者在查詢時，可自定索引檔中的特定部份作為查詢範圍。例如，若第
  一次查詢結果的筆數過大，使用者可以進一步輸入關鍵字，在其中作第二
  次的查詢，以逐步縮簡資料量並增進精確度。

  另外，使用者也可用其他方式限定檢索範圍，例如所屬類別或其他自訂的
  資料欄位等。
Parser負責將原始資料及使用者查詢語句進行語系轉換、同義字代換、斷詞、
編碼等動作，產生程式內部使用及存入Berkeley DB的索引資料。

Indexer負責將資料來源以OurNet::Template模組進行格式轉換及規格化，並
分析出資料的顯著欄位(如標題、日期、作者等)，將結果交由Parser存入索引
檔。

Query對查詢語句交由Parser進行分析後，再對所有欲查詢的資料庫進行比對、
頻率分析、容錯檢查，再依相關程度傳回查詢結果。

Finito.

/Autrijus/
