2009-09-01から1ヶ月間の記事一覧

org.apache.lucene.search.Hitオブジェクトのget("title")メソッドで、ホームページのタイトルを取得しようとしたときに、データが文字化けすることがある。どんなページのタイトルが文字化けになるかというと、HTMLのヘッダー上で指定してある文字コードと…

urlフィールドが特定の複数ドメインのもののみを取得したい

クロールしたURLが以下のようなときhttp://aaa.bb http://ccc.dd http://eee.ffこの2つのサイトに対してだけ検索したいときです。http://aaa.bb http://ccc.dd しばらく悩んであとに、Lukeでインデックスの中身をのぞいているときに、ふと思った。。 urlフィ…

tstampフィールドの値を"yyyy/MM/dd HH:mm:ss"形式で表示するには

tstampフィールドの値は、Lukeなどを使ってみると、"20090908080249515"のような17桁の数字になっている。この17桁の数値は、Hitオブジェクトのgetメソッドを使って取得することができるので、これを整形できればよい。 ということで、17桁の数値のもとをた…

nutch 0.9でクロールした結果をクロールした日付順にソートしたい

nutch 0.9のbin/nutchコマンドやorg.apache.nutch.crawl.Crawlクラスのmainメソッド実行によって、作成されたDBでは、tstampフィールドに対してインデクスが付けられない。デフォルト設定のクロールのtstampフィールド インデクスなし トーカナイズなし フィ…

nutch 1.0のnutch-1.0.warアプリケーションを手動でEclipseのダイナミックウェブプロジェクトに追加する

Eclipseでnutch-1.0という名前のダイナミックウェブプロジェクトを作成する。nutch-1.0.warファイルを適当なディレクトリに解凍する。

bin/nutchコマンドを使わずにクロールを実行する

org.apache.nutch.crawl.Crawlクラスのmainメソッドを呼び出すことで、クロールを実行することができる。Eclipseから実行する場合、mainメソッドの引数渡すパラメータは、デバグ設定の画面から指定できる。 が、ここで問題が!nutch 0.9までは、Crawlクラス…

Nutchでクロールした結果を見てみよう

Nutchがクロールして作ったインデックスファイルを見るツールに、Lukeというものがある。手軽に中身を見れて便利

nutch 1.0のクローラーを実行してみよう

nutch 1.0のクローラーを実行する準備として、以下の環境が必要。Java 1.6(nutch 0.9まではJava 1.5で良かったんだけどね。) Tomcat 5.5以上 CygwinクロールするURLを記述したテキストファイル(testurl.txtとでもしておく)を用意する。 www.テスト用のド…

クローラー Nutch 1.0 のインストール

NutchのWEBサイトから、nutch-1.0.tar.gzをダウンロードする。nutch-1.0.tar.gzを解凍する。以下のようなディレクトリ構成が確認できる。C:\直下など、コマンドラインから操作しやすい場所に、解凍してできたnutch-1.0という名前のフォルダをnutchとフォルダ…

主キーに何も値を入れずに、saveOrUpdateメソッドで永続化しようとしたところ、以下のエラーが発生 javax.servlet.ServletException: org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save()…

値をインジェクションするノードの指定にXPathを使うときの注意点

下のような書き方で、値をインジェクションしようとしていたところ、警告がいっぱい発生していた。修正前 発生していた警告 2009-09-01 11:17:03,703 WARN XPathMatchesInjectionResolver - the injection xpath(div[@class='contentSidemenuAccount']/ul/li…