Solr

Solr6 Jython で フィードの前処理をする メモ

1. Jython のインストール Jython の スタンドアローン版を下記からダウンロード http://www.jython.org/downloads.html sudo mkdir /var/solr/data/コア名/lib sudo cp jython-standalone-2.7.0.jar /var/solr/data/コア名/lib sudo /etc/init.d/solr resta…

Amazon Linux に Solr 6.2.1 インストール

インストール wget http://ftp.jaist.ac.jp/pub/apache/lucene/solr/6.2.1/solr-6.2.1.tgz tar xvfz solr-6.2.1.tgz sudo solr-6.2.1/bin/install_solr_service.sh solr-6.2.1.tgz sudo vi /etc/default/solr.in.sh JAVA_HOME="/usr" コアの作成とサンプルデ…

双方向シノニムの実験

A = B と A = C の2つの双方向シノニムを登録した場合に 自動的に B = C の双方向シノニムが実現されるのかの実験 結論 Solrの再起動のみの場合 シノニムを適用するために Solr を再起動しただけだと A = B 、 A = C のシノニムのみ実現される。B = C は実現…

Python で フィードの前処理をする メモ

1. Jython のインストール Jython の スタンドアローン版を下記からダウンロードして http://www.jython.org/downloads.html example/solr/collection1/lib に置く $ls example/solr/collection1/lib jython-standalone-2.7.0.jar 2. solrconfig.xml の変更 <requestHandler name="/update" class="solr.UpdateRequestHandler"> <lst name="defaults"></lst></requesthandler>…

ICUTransformFilterFactory 使う準備 メモ

$ mkdir example/solr/collection1/lib/ $ cp contrib/analysis-extras/lucene-libs/lucene-analyzers-icu-4.10.4.jar example/solr/collection1/lib/schema.xml <filter class="org.apache.lucene.analysis.icu.ICUTransformFilterFactory" id="Katakana-Hiragana"/></filter>

ドキュメントのエクスポートでエラーが発生してもクローリングを続けるおまじない ignoreTikaException [メモ]

ManifoldCF と Solr の組合せで ファイルサーバのドキュメントをクローリングしている場合 ドキュメントからテキストデータを抽出する処理で エラーが発生するとクローリングが止まってしまう。 エラーが発生したドキュメントはスキップして クローリング自…

ファイルサーバからファイルを削除したのに検索にヒットしちゃう ときにやったこと メモ

ManifoldCFで監視しているファイルサーバ上からファイルを削除すると Solrのインデックスからも自動的に削除されるのが普通の状態 でもそうならなかった... Solr のログを見ると delete も コミットも実行されているのに Solr のログをもうちょっと慎重にみ…

デフォルトの検索条件がいろいろ OR になっているのを AND にする

1) autoGeneratePhraseQueries属性 トークナイズ後の検索条件を AND にするか OR にするかのパラメータ デフォルトでは Kuromoji を使って形態素解析する フィールドタイプ text_ja のautoGeneratePhraseQueriesは OR (false) になっています。 このため「北…

人名の表記ゆれ サイトウ 問題を解決できるのか試してみた

サイトウさんには 斉藤、斎藤、齋藤、齊藤 などの表記バリエーションがあります。 (「藤」の方もいろいろあるようですがが、ここは一旦「斉」のみで) 一番メジャーな「斉藤」で検索して「斉藤」、「斎藤」、「齋藤」、「齊藤」 全てがヒットすると、検索サ…

「Apache Solr 入門」を参考に AWS の EC2 に Solr を インストールしてみた メモ

「 Apache Solr 入門 」を参考に AWS のEC2に Solr をインストールしてみました。 1. EC2 を建てる1) まずは EC2 を1台建てる 動作検証等が目的なら 一番小さい t1.micro でOK メモリはデフォルトの600KB ディスクも最小構成の8GBのまま OS は Amazon Linux …

改訂新版 Apache Solr 入門 発売されました!

最近、某官庁のシステムにSolrを導入するプロジェクトに参加しています。 #スーツ着て霞ヶ関通いです... 作ったプロトタイプが大変好評で、お褒めの言葉をいただいたところまではよかったのですが 扱っているドキュメントのセキュリティレベルがとても高いた…

AWS で Tomcat 7 に Solr4.5 インストールしたときの メモ

Tomcat と Solr の配置 cd /home/hoge/work/ tar xvfz solr-4.5.0.tgz tar xvfz apache-tomcat-7.0.42.tar.gz cd apache-tomcat-7.0.42 cp -r /home/hoge/work/solr-4.5.0/example/solr /home/hoge/work/apache-tomcat-7.0.42 cp -r /home/hoge/work/solr-4.…

3.1 は 1.4 に比べて 4割高速!!

2011年3月にリリースされた Solr3.1.0 とそれまでの最新バージョンであったSolr1.4.1 とで速度比較を行ってみました。内包している Lucene の性能が上がったためでしょうか、かなり高速化されているようです。 私の試したところ下記となりました。 レスポン…

ドキュメント数 7.7億 超えました

インデックスのデータサイズは約 3.5TB です。 Solr でもこのくらいのサイズのデータ量は保管できるという参考になれば。 OS : CentOS5.5 CPU : Xeon 6コア×4 メモリ : 62GB簡単な検索なら1秒以内で返ってきます

4.0 で Spatial Search が進化してます。

開発中のSolr4.0のSpatialSearchを試してみました。 バンドルされているサンプルデータにも緯度経度を含んだデータが入っているので簡単に試すことができます。 最新の配布パッケージをダウンロード ( ファイル名はこちらを確認してください https://hudson.…

対決 ヒット件数が多いクエリで全てのヒットドキュメントを取得するなら 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 …

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 …

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 のデータ構造…

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

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