2010-01-01から1年間の記事一覧

情報処理技術者試験 ネットワークスペシャリスト 一発合格!!

2010年10月に受けた 情報処理技術者試験 ネットワークスペシャリスト に合格しました。 成績は以下でした。 午前I : 免除 午前II : 72点 午後I : 65点 午後II : 69点 ギリギリ... でもこれで 2010年4月に受けた 情報セキュリティスペシャリスト と合わせて …

オープンソース日本語フォント IPA フォント のインストール

http://ossipedia.ipa.go.jp/ipafont/index.html からフォントをダウンロード 以下は「IPAゴシック/IPA Gothic(Sans serif) ipag00302.zip(4.09 MB)」の例 $ mkdir ~/.fonts $ cp ipag00302.zip ~/.fonts $ cd ~/.fonts $ unzip ipag00302.zip $ fc-cache -f…

matplotlib で 日本語 を使えるようにしてみた!

著作権がきちんと整理されているオープンソースの IPA フォントを使うのがオススメですが、OS にバンドルされている適当な日本語フォントがあればそれを使って表示させることもできます。後者の場合は配布時に注意した方がいいです。 IPA フォントのインスト…

CGI の実行でライブラリの参照ができなくって Internal Server Error が出たときの対応

httpd.conf に LD_LIBRARY_PATH を追記して再起動する。 Listen 80 SetEnv LD_LIBRARY_PATH .:/usr/lib:/usr/local/lib:/usr/local/mysql/lib:/usr/local/mysql/lib/mysql

matplotlib で時系列のグラフを書いてみた!

matplotlib で書くすごーく簡単な時系列グラフのサンプル #!/usr/bin/env python # -*- coding: utf-8 -*- import datetime import matplotlib.pyplot as plt import matplotlib.dates as mdates # X軸データ x = [datetime.datetime(2010,1,1), datetime.da…

日付のハンドリングに便利な datetime型と文字列の相互変換

datetimeには 文字列から日付や時刻を取得する strptime() が使えないという記述を何回か見かけたことがありますが、最近ではstrptime() が使えます。 以下は、Python 2.6.2 の実行例です。 >>> import datetime >>> d = datetime.datetime.strptime('2010-1…

対決 ヒット件数が多いクエリで全てのヒットドキュメントを取得するなら Solr の勝ち!

Fast ESP は検索にヒットしたドキュメントのうち、実際に取得できるのは 4020 ドキュメントまでです。Google が最大でも 1000 ドキュメントまでしか取得できないのと同じような感じですね。一方、 Solr はヒットしたのが何百万ドキュメントであろうと最後の1…

対決 ドキュメントの削除のしやすさは Solr の勝ち!

Solr は delete by query コマンドを使って検索条件にヒットしたドキュメントを削除することができます。 BODY フィールドに 「ほげほげ」を含むドキュメントを削除する場合には <delete><query>BODY:ほげほげ</query></delete>というXMLを与えればOKです。 しかし、Fast ESP には delete by …

ERROR 1206 (HY000): The total number of locks exceeds the lock table size が出たときの対応

UPDATE 文の実行中にエラーが出た。 "ERROR 1206 (HY000): The total number of locks exceeds the lock table size" InnoDB で UPDATE 文実行のためのバッファサイズが小さいらしい。 /etc/my.cnf に innodb_buffer_pool_size = 512M を追加 $ /etc/init.d/…

apache インストール

久しぶりにやったのでメモ $ wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.16.tar.gz $ tar xvfz httpd-2.2.16.tar.gz $ cd httpd-2.2.16/ $ ./configure --enable-rewrite --enable-so --enable-ssl $ make $ su # make install # grou…

Spatial Search 緯度 経度 を使った空間検索

現在開発中の Solr ( solr-1.5-dev )では緯度経度を使った空間検索ができるようになっています。 銀座駅 半径1Kmの検索例 http://192.168.11.42:8080/solr/select/?q=_val_:"recip(hsin(6378.137, vector(rad(WGS_LATLON_0_latLon), rad(WGS_LATLON_1_latLon…

haproxy を使ってお手軽 HA 構成

haproxy はL7ロードバランサのソフトウェアです。 これによって Solr への検索要求をタダで簡単に冗長化・負荷分散することができるようになります。 haproxy インストール $ wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz $ cd haprox…

データ インポート ハンドラ ( Data Import Handler ) の SQL 文中の 関数が正しく実行されない場合は JDBC ドライバのバージョンを疑ってみよう

全く同じ db-data-config.xml ( データインポートハンドラ の設定ファイル ) を使ったデータインポートが環境によって 問題なく実行されたり、エラーになったりすることがありました。エラーになっている方は SQL文中でつかっている CONCAT() 関数がうまく実…

NGramTokenizer は 1024 文字 までしかパースしてくれないのでちょっと増やしてみた

修正 hi_time 様から下記のコメントいただきました。 ご指摘の設定の方が洗練されていると思いますので、この記事の役割を問題の提起とhi_time 様の解決方法の紹介と変えさせていただければと思います。hi_time 様コメントありがとうございました。 hi_time …

umountで"device is busy"になったときの対応方法

umount で device is busy になったときって、アンマウント対象ファイルシステムを使っているプロセスがあることが多いですよね。 # umount /mnt/nfs1 umount: /mnt/nfs1: device is busy umount: /mnt/nfs1: device is busy そんなときに、ファイルシステム…

情報処理技術者試験 情報セキュリティスペシャリスト 一発合格!!

春に受けた 情報セキュリティスペシャリスト に合格しました。 ヨカッタです。 合格に導いてくれたこの本はナカナカのモノだと思います。 ありがとう上原 孝之さん ありがとう翔泳社

root 権限なしで インストール

ホスティングやレンタルサーバなどで root 権限がないときの MySQL のインストールメモ ホームディレクトリ/local/mysql にインストール % tar xvfz mysql-5.0.75.tar.gz % cd mysql-5.0.75 % ./configure --prefix=/home/search/local/mysql --with-mysqld-…

USB ディスクを使う

パーティションの作成 # fdisk /dev/sdd <- USBディスクは接続するとSCSIディスクとして自動認識される コマンド (m でヘルプ): p Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = シリンダ数 of 160…

グラフを書こう! RedHat Linux に matplotlib をインストール

RedHat Linux 上の python でグラフを書くために matplotlib をインストールしました。 Windwows 版は こちら Windows に Python と matplotlib をインストール インストール ソースからインストールします。 matplotlib のインストールの前に事前に以下のイ…

PHP から検索するときは使った方がいい Solr のオプション

PHP から Solr の検索をするときは solrconfig.xml に下のオプションを追加すると検索結果を受け取った後の処理がとても楽になります。 # <queryResponseWriter name="xslt" ... の下あたりに追記する <!-- for PHP --> <queryResponseWriter name="php" class="org.apache.solr.request.PHPResponseWrit er"/> </queryresponsewriter></queryresponsewriter>

Solr のインデックスに Python ( Jython ) から Lucene ライブラリを使ってアクセスする その2 NGramTokenizer と LowerCaseFilter を使って見る

NGramTokenizer と LowerCaseFilter を同時に使って検索するコードのサンプルです。 標準では NGramTokenizer 用の Analyzer は用意されていないので NGramAnalyzer を作成しています。 NGramTokenizer は lucene-analyzers-X.X.jar に入っているのでクラス…

Solr のインデックスに Python ( Jython ) から Lucene ライブラリを使ってアクセスする。

Python から Lucene ライブラリを使いたかったので Python の Java 実装である Jython を使って見ました。 Solr の ベースとなっている Lucene は Java で記述されたライブラリなので Jython を使うと Python の文法のままで Lucene 簡単に使うことができま…

Wikipedia のテキストデータを使ってベンチマークをする! その7 ロードバランサー( haproxy ) を使って Solr 2台構成にしてみた!

前回の [Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その6 Solr は MySQL より 200倍速い!からSolrのサーバを1台増加させた2台構成にして性能の変化をみてみました。 前回から変わった計測条件 16スレッド×50ループの800クエリを…

Wikipedia のテキストデータを使ってベンチマークをする! その6 Solr は MySQL より 200倍速い!

JMeter を使って負荷試験をしてみました。 やってみたこと Wikipedia のページタイトルから検索ワードを選定 選定ルール ページタイトルから記号を含まないものだけを抽出。記号は検索式で様々な意味を持つのでそれを含まないものを選ぶ。 それらをユニーク…

Wikipedia のテキストデータを使ってベンチマークをする! その5 Solr と MySQL でざっくり速度対決

せっかく Solr にデータが入ったので軽く検索速度の比較をしてみました。 比較してみたこと Solr と MySQL それぞれで「ロボット」で検索する ヒットする記事の数と記事10件の取得時間を調べる。 Solr、MySQL ともに設定パラメータはデフォルトのまま Solr …

Wikipedia のテキストデータを使ってベンチマークをする! その4 データインポートハンドラ( DIH Data Import Handler ) を使って Solr にデータを入れる

MySQL に入れておいた WikiPedia のデータを Solr に入れます。 WikiPedia のデータを MySQL に入れる方法は↓ [Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その2 Wikipedia のテキストデータを MySQL に入れる Solr のスキーマ設…

Wikipedia のテキストデータを使ってベンチマークをする! その3 Solr のスキーマ設計

WikiPediaのデータを入れるための Solr のスキーマ設計です。 Wikipedia のデータ構成 [Solr][MySQL] Wikipedia のテキストデータを使ってベンチマークをする! その2 Wikipedia のテキストデータを MySQL に入れるで MySQL に入れた Wikipedia のデータ構造…

FTP コマンドで FTPサーバにつないだんだけど ls とかやっても何にも表示されないときの対処方法

Passive モードになっている可能性があります。 Passive モードじゃなくする(= Activeモードにする ) には passive コマンドを使って Passive モード を off にします。 passive コマンドはトグルスイッチになっているので、実行するたびに on と off が入れ…

Wikipedia のテキストデータを使ってベンチマークをする! その2 Wikipedia のテキストデータを MySQL に入れる。

Wikipedia のデータを取得してMySQLに入れます。 Wikipedia のデータ構成 MySQL に入れる Wikipedia のデータ構造は以下の用になります。 フィールドの詳細については以下を参照してください。 http://www.mediawiki.org/wiki/Page_table/ja#page_title http…

Wikipedia のテキストデータを使ってベンチマークをする! その1 思い立ったこと

テキスト検索のベンチマークをしたいと思い立ちました。 テストデータにはWikipediaのデータを使おうと思います。 現在 日本語Wikipediaのページ数は約130万ページです。 Solrに入れるときには1ページ1ドキュメントになるので 130万ドキュメントのインデック…