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

Lucene:fieldNormはインデックス生成時に計算される

fieldNormはブースト値とフィールドの単語数で計算されている。 検索のスコア計算時に単語数を無視したい場合に新しいSimilarityクラスを指定しても反映されない。 fieldNormはインデックス生成時に計算されているため、検索時にいくら頑張っても無意味。 fi…

OutOfMemoryError: PermGen space

環境変数「JAVA_OPTS」に -XX:MaxPermSize=1024mこんなのを追加すれば解決?

Nutch:SegmentReader -dumpでの文字化け問題

cygwinとかコマンドプロンプトでクロールしたデータをEclipseでまとめてSegmentReaderのdumpを実行すると、出力されたデータが文字化けする。デフォルトエンコーディングが問題みたい。dumpを実行するクラスで 右クリック>リソース>テキスト・ファイル・エ…

Nutch:特定の文字列が続くURLをクロール対象外にする

Nutchのcrawl-urlfilter.txtを弄ることでクロールさせるURLを正規表現で指定できるんだけれど、許可指定しているURLに含まれる一部のURLを許可しないという事が出来ないみたい。例えば、crawl-urlfilter.txtに +^http://test\.co\.jp/ -^http://test\.co\.jp…

Solr:SolrでWebアプリ開発したい

Solrはどうやって使えば良いんだろう。Solrを使えばLuceneの面倒な検索とかをいちいちjavaで書かなくても、GETとかでリクエスト飛ばせば結果が帰ってくるってことで良いのかな?ということは、Solrをとりあえず起動させておいて、それに対して別のWebアプリ…

Nutch:修正したソースをコマンド実行に反映させる

Eclipseならソースを修正して実行ボタン押せば普通に動くけど、コマンドで実行させる場合はちょっとした作業が必要。修正したソースは全て ./src/フォルダ内に入っているものとする。nutchのバージョンは1.0。 ant nutchフォルダで $antすると、buildフォル…

Nutch:OutOfMemoryの続き2

もう普通にcygwinでtopNを大きくしてループさせればいい気がしてきた。 Eclipseだとエラー出るけどcygwinなら問題ないし。 ただ、クロールして自動で文章抽出からインデックスまで繋げたりするのが出来ない。 とは言ってもクロールがまともに出来ないんじゃ…

Nutch:OutOfMemoryの続き

confの「io.sort.mb」の値が100だと、1周目のInjectorでエラー。 60だと、1周目のcrawlDBあたりでエラー。 55だと、2、3周のどっかでエラー。 30だと、25周くらいでエラー。 10だと、43周くらいでエラー。とりあえず減らせば長く持つんだけど、根本的な解決…

Nutch:24時間クロール

Crawl.main()をループで呼ぶと25周した後のGeneratorで何故かOutOfMemoryする。 topNがいくつであっても多分同じ。topN=100程度だと1時間くらいでエラー出ちゃうから、topN=1000にして放置。 時間設定を24時間にしてみたけど、最後まで動いてたみたい。topN=…

デジカメ:デジタルズームとデジタルテレコン

中央を切り出してズームしてるのはどちらも共通。 デジタルズーム 光学で最大ズームした後に更にズーム。 なのでF値は望遠端の値 デジタルテレコン 広角端〜望遠端で指定倍率ズーム。 同じ倍率なら光学ズームよりもF値が小さい →明るい →シャッタースピード…

Nutch:Crawlを使わずそれぞれを単品で実行すると上手くいかない

Crawl.javaを実行すると Injector,Generator,Fetcher,CrawlDb,LinkDb,Indexer なんかをまとめて実行してくれるんですが、インデックスは自分でやりたいから、 Injector,Generator,Fetcher,CrawlDb ここら辺を単品で実行させてみた。何となく上手くいくものの…

Nutch:URLフィルター系のメモ

URLに?とか#とか含まれていると上手くいかない。 フィルターとかで弾かれてるのかな。 automaton-urlfilter.txt # skip URLs containing certain characters as probable queries, etc. -.*[?*!@=].* ↓ -.*[*!@=].* crawl-urlfilter.txt # skip URLs contain…

はてダ:ソースコードに色付けをするスーパーpre記法 シンタックス・ハイライトが凄い

入力したプログラムコードを色付けするスーパーpre記法 シンタックス・ハイライトの実装について - はてなダイアリー日記HTMLとかjavaのソースとか色分けしてくれる。 面白いので今までの記事中のスーパーpre記法をシンタックス・ハイライトに対応させてみま…

Nutch:Eclipseで動かす

http://www.ubicast.com/tech/nutch/run_nutch_in_eclipse_0.9.html こちらを参考にしてCrawl.javaを実行してみると、ユーザーインフォメーションがどうのこうのっていうエラーが発生。で。 http://d.hatena.ne.jp/H_Yamaguchi/20080626/p1 こちらを参考にし…

各ブログの構造とか

アメーバ:新着ページががが。 FC2ブ:OK Yahoo:解析出来ず? livedoor:構造が多様過ぎる。 JUGEM:URLが上手く取れない。 ヤプログ:新着ページががが。 goo:OK 楽天広場: seesaa:OK 忍者ブログ: ココログ:OK はてな:OK ウェブリブログ:OK So-net:…

JTidy:条件付きコメントがあると解析出来ない?

ソースに こういったIEだけ読める条件付きコメントがあるとどうも上手く解析出来ないみたい。 JTidyに通す前に正規表現で削除した方がよさそう。

XSLT:JTidyを使ってXHTMLからデータを取り出す

CyberNeko HTML Parserを使うと上手くいかなかったんですが、JTidyっていうのを使ったら上手くいった。webryblogの記事から記事タイトルとボディを抜いてみます。 ソース String xsl = "xsl/webryblog.xsl"; String xml = "xsl/webryblog.xml"; //String out…

XSLT:XHTMLからデータを取り出したいが上手く行かない

XHTMLから一部を切り出すためにXSLTの勉強中。 XSLTはXMLを読み込むから、XHTMLもいけるかと思ったけど上手く行かない。とりあえずソース。 public class TestXSLT { public static void main( String[] args) throws Exception{ String xsl = "xsl/webryblo…

正規表現:改行を含む全ての文字列の取得

((?:.|\n)+)多分これでOK。 ([.\n]+)こういう書き方は出来ないっぽい。 []の中では特殊文字が無効化される模様。

Nutch:contentデータの文字化け対策

Nutch*1メモ。SegmentReaderでcontentデータをdumpすると、UTF-8以外の文字コードが文字化けする。SegmentReader実行時の引数はこんな感じ。 -dump crawl/segments/[0-9]{14} crawl/segments/[0-9]{14}/dumped_text -nofetch -noparsetext -noparse -nogener…

はてダはじめました。

Blogに書いてもどうしようもないようなメモを書く目的ではてダを使ってみようと思います。はてな記法って便利なのかな? 試しに使ってみる。 引用記法 ここに引用文章でも書けばいいのかな。 スーパーpre記法 試しに適当なソースを貼ってみる。 <a href="http://www.hatena.ne.jp/"><img src="/images/hatena-simple_de.gif" alt="Hatena::" title="Hatena::" id="logo-hatena" width="65" height="17"></a><a href="/"></a>