Java
fieldNormはブースト値とフィールドの単語数で計算されている。 検索のスコア計算時に単語数を無視したい場合に新しいSimilarityクラスを指定しても反映されない。 fieldNormはインデックス生成時に計算されているため、検索時にいくら頑張っても無意味。 fi…
環境変数「JAVA_OPTS」に -XX:MaxPermSize=1024mこんなのを追加すれば解決?
cygwinとかコマンドプロンプトでクロールしたデータをEclipseでまとめてSegmentReaderのdumpを実行すると、出力されたデータが文字化けする。デフォルトエンコーディングが問題みたい。dumpを実行するクラスで 右クリック>リソース>テキスト・ファイル・エ…
Nutchのcrawl-urlfilter.txtを弄ることでクロールさせるURLを正規表現で指定できるんだけれど、許可指定しているURLに含まれる一部のURLを許可しないという事が出来ないみたい。例えば、crawl-urlfilter.txtに +^http://test\.co\.jp/ -^http://test\.co\.jp…
Solrはどうやって使えば良いんだろう。Solrを使えばLuceneの面倒な検索とかをいちいちjavaで書かなくても、GETとかでリクエスト飛ばせば結果が帰ってくるってことで良いのかな?ということは、Solrをとりあえず起動させておいて、それに対して別のWebアプリ…
Eclipseならソースを修正して実行ボタン押せば普通に動くけど、コマンドで実行させる場合はちょっとした作業が必要。修正したソースは全て ./src/フォルダ内に入っているものとする。nutchのバージョンは1.0。 ant nutchフォルダで $antすると、buildフォル…
もう普通にcygwinでtopNを大きくしてループさせればいい気がしてきた。 Eclipseだとエラー出るけどcygwinなら問題ないし。 ただ、クロールして自動で文章抽出からインデックスまで繋げたりするのが出来ない。 とは言ってもクロールがまともに出来ないんじゃ…
confの「io.sort.mb」の値が100だと、1周目のInjectorでエラー。 60だと、1周目のcrawlDBあたりでエラー。 55だと、2、3周のどっかでエラー。 30だと、25周くらいでエラー。 10だと、43周くらいでエラー。とりあえず減らせば長く持つんだけど、根本的な解決…
Crawl.main()をループで呼ぶと25周した後のGeneratorで何故かOutOfMemoryする。 topNがいくつであっても多分同じ。topN=100程度だと1時間くらいでエラー出ちゃうから、topN=1000にして放置。 時間設定を24時間にしてみたけど、最後まで動いてたみたい。topN=…
Crawl.javaを実行すると Injector,Generator,Fetcher,CrawlDb,LinkDb,Indexer なんかをまとめて実行してくれるんですが、インデックスは自分でやりたいから、 Injector,Generator,Fetcher,CrawlDb ここら辺を単品で実行させてみた。何となく上手くいくものの…
URLに?とか#とか含まれていると上手くいかない。 フィルターとかで弾かれてるのかな。 automaton-urlfilter.txt # skip URLs containing certain characters as probable queries, etc. -.*[?*!@=].* ↓ -.*[*!@=].* crawl-urlfilter.txt # skip URLs contain…
http://www.ubicast.com/tech/nutch/run_nutch_in_eclipse_0.9.html こちらを参考にしてCrawl.javaを実行してみると、ユーザーインフォメーションがどうのこうのっていうエラーが発生。で。 http://d.hatena.ne.jp/H_Yamaguchi/20080626/p1 こちらを参考にし…
ソースに こういったIEだけ読める条件付きコメントがあるとどうも上手く解析出来ないみたい。 JTidyに通す前に正規表現で削除した方がよさそう。
CyberNeko HTML Parserを使うと上手くいかなかったんですが、JTidyっていうのを使ったら上手くいった。webryblogの記事から記事タイトルとボディを抜いてみます。 ソース String xsl = "xsl/webryblog.xsl"; String xml = "xsl/webryblog.xml"; //String out…
XHTMLから一部を切り出すためにXSLTの勉強中。 XSLTはXMLを読み込むから、XHTMLもいけるかと思ったけど上手く行かない。とりあえずソース。 public class TestXSLT { public static void main( String[] args) throws Exception{ String xsl = "xsl/webryblo…
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…