未来情報産業株式会社 Web辞書検索システム


LOCATION:

Web辞書検索システム

通信用語の基礎知識

日本を代表するネット辞書サイト、通信用語の基礎知識で採用されている、Web辞書システムです。

このシステムは、「辞書」という特殊な分野に特化し、辞書に必要となる多くの機能を、高速かつ軽量に実現・達成させるものです。

弊社が得意とする文字コード処理に関する様々な機能も組み込まれています。

このシステムは、手元のPCで原稿を用意し、その内容をサーバーにアップロードして開示する、という開発スタイルの辞書・辞典サイト全てに利用することができます。

導入を検討されている方や、興味のある方のために、本システムの特徴を以下に説明致します。

開発経緯

スクリプトである必要性

まず弊社は、Webアプリケーションの開発に、必ずしもスクリプト言語を使う必要はないのではないか、と考えました。

Webブラウザーで動作させるのであれば、JavaScriptしか選択肢はありませんが、HTMLを吐き出すサーバー側処理なら、普通のプログラミング言語で書けば良い。なぜわざわざ、サーバーサイド・スクリプト機能などを用いてまで、スクリプト言語で書く必要があるのだろうか。そのように考えました。


結論

結論として、サーバー側の処理は、C++で書くのが最適であると判断しました。

開発効率、メンテナンス性、開発技術者の確保しやすさなど、全てにおいて優れています。


実証

そこで弊社はこれを実証するため、実際にC++を用いてのWebアプリケーションの開発に着手しました。なお、これは実験ですので、アクセス数は少なすぎず多すぎず、また規模も、小さすぎず大きすぎない、程ほどの規模であることが理想的でした。

そこで、通信用語の基礎知識の検索システムに着目し、取り組むこととしました。

これは資金難かつ人的リソース不足の辞書プロジェクトがソフトウェアを欲していたことと、弊社が必要としていたWebアプリケーション開発の実績確保という、相互の利害が一致したことによります。

このため、本システムには様々な実験的な機能が組み込まれることがあります。

また機能によっては、作りかけのまま試験運用されることもあります。


注意点

「通信用語の基礎知識の内容」については、弊社では管轄していません。内容についての問い合わせは、当該の開発プロジェクト宛へお願い致します。

弊社はあくまでも、通信用語の基礎知識が必要とするソフトウェアの提供をするのみであり、通信用語の基礎知識を利用した弊社アイディアの実証実験を容認することを条件として、薄利にて開発を受注しているものです。

システムの特徴

言語はC++

C++とSTLを用いて書かれています。

これが、このシステムの開発目的です。

開発効率と性能およびメンテナンス性が優れています。

CGIです

C++のプログラムをCGIで動作させます。サーバーサイド・スクリプトではありません。

これも、このシステムの開発目的です。

ですのでサーバーに負荷を掛けません。簡単に動きます。

FreeBSD/Windows兼用

開発はWindows、実際に稼働させるサーバーはFreeBSDですので、その双方でビルドでき、動作するように作られています。

WindowsではVisual C++、FreeBSDではClang/LLVMでビルドすることが想定されています。

オフライン開発専用

通信用語の基礎知識は、オフラインで原稿を用意し、それをサーバーにアップロードするスタイルの開発プロジェクトです。

そこで本システムは、そのスタイルに特化し、そのスタイルを効率的に実現できるようシステムを設計しました。

Web上で開発するものはWikiwikiなどが既にありますが、本システムはローカルで開発するものとして、それらとは一線を画すものとなっています。

RDBSを使っていません

RDBSは使われていません。SQLiteなどを使っての機能拡張なども想定はしていますが、現時点では使用していません。ですので、システムは簡単にサーバーで稼働させられます。

検索機能自体は、キーワード検索を前提としていますが、必要十分な性能を、充分な速度で実行します。

コンパイル方式

通信用語の基礎知識編纂委員会が開発し、採用した「V6フォーマット」としている書式は、人間の読み書きと、コンピューター処理との兼ね合いを考慮して設計されています。

ですのでこのフォーマットそのものをサーバー側で処理しても良いのですが、それは効率的ではありません。せっかくのオフライン開発専用システムですので、コンパイルして中間言語に変換する方式としました。

サーバーには、コンパイルによって作られた中間言語と関連情報ファイルをアップロードします。サーバー側処理は、この中間言語を動かすためのインタープリターとして機能します。

つまりサーバー側処理としては、中間言語から、指定した単語部分を検索し、その内容をインタープリターによってHTML化して画面に表わします。従って表示時の解析処理が大幅に省けるため、高速軽量な動作が可能となっています。

LINT

ローカルで処理するので、ローカルでコンパイルする際に書式にエラーがないかどうかを確認するツールを用意しています。

  1. 書式にミスがないかを確認するフォーマットチェッカー
  2. 単語間リンクに不正がないかを確認するリンクチェッカー
  3. 指定したディレクトリに不正がないかを確認するディレクトリチェッカー

これらは、通信用語の基礎知識の開発プロジェクトに提供しており、プロジェクト参加者が利用できます。その他には現在、頒布していません。

システム構成

システム

現在、Web辞書検索システムを構成する、サーバー側ソフトウェアは次の通りです。

  1. 検索機能 (WDIC Voyager)
  2. 結果表示機能 (WDIC Explorer)
  3. ディレクトリ機能 (WDIC Navigator)
  4. 辞書グループ一覧 (WDIC Kepler)
  5. 辞書ファイル一覧 (WDIC Galilei)
  6. プラグイン情報表示機能 (WDIC Giotto)
  7. 更新情報表示機能 (WDIC Discovery)
  8. 人気検索語表示機能 (WDIC Pioneer)
  9. 索引検索機能 (WDIC Cassini)
  10. おまかせ検索機能 (WDIC Viking)
  11. 今日の用語機能 (WDIC Surveyor)

特色

本製品の特色は、辞書・辞典という特定分野に処理を限定することで、高速かつ適切な検索性能、UnicodeとJISの優秀な変換性能などがあります。

特に、UnicodeとJISの変換処理には弊社開発製品の技術が使われており、この技術は弊社の他の製品開発にも生かされています。

資料請求・問い合わせ

電子メールで、info@mirai-ii.co.jpまでよろしくお願いします。

戻る
Copyright © Mirai Corporation 2007-2013 All rights reserved.