- blogs:
- cles::blog
Python で Solr をいじる
python
solr Python で Solr にアクセスする必要があったので、solrpy を使ってみました。
ちょっと古いライブラリですが、対象の Solr もちょっと古かったのでちょうど良かった感じでした。
search5/solrpy: Automatically exported from code.google.com/p/solrpy
solrpy is a Python client for Solr, an enterprise search server built on top of Lucene. solrpy allows you to add documents to a Solr instance, and then to perform queries and gather search results from Solr using Python.
† 検索をするサンプル
見たまんまですが、ページングの処理には next_batch() を使う必要があります。
while の条件式中で代入文を使いたかったので、Python 3.8で新しく導入された代入式*1(いわゆるセイウチ演算子) := を使ってみました。
今まで Python はこういう書き方できなかったんですね。。。。
Apache Solr 7.2 リリース
solr Solr 7.2 がリリースされていた*1のでメモ。
The Lucene PMC is pleased to announce the release of Apache Solr 7.2.0
最近新しい Solr をインストールすることもないので、改めて勉強する必要がありますね。
Dovecot の検索バックエンドに Solr を使う
solr
dovecot Dovecot は全文検索のバックエンドとして Solr を使うことができる*1ので、設定してみました。
† Solr の準備
Solr がインストールされていなければ Solr をインストールしておきます。
Dovecot のサーバからアクセス可能であれば、負荷分散のために別サーバにデプロイすることも可能です。
インストールが終わったら以下のコマンドで core を作ります。
スキーマは schema.xml を使います。
ほぼデフォルトのままですが、日本語に対応するために一部を text_cjk に変更してあります。
最近の Solr は Managed Schema ですがが、schema.xml からの変換は自動でやってくれるので、conf ディレクトリにコピーするだけで大丈夫です。
これで Solr 側の準備は完了です。
[Dovecot の検索バックエンドに Solr を使う の続きを読む]
Solr 6.6 を CentOS 7 にインストールしてみる
solr
centos7 久しぶりに Solr をインストールしてみました。
今回のは CentOS 7.3 と Solr 6.6 の組み合わせです。
† 下準備
Java 8 以上が必要なので、インストールされていなければ、yum で java8 をインストールします。
† Solr のインストール
Solr のインストールはいろいろとやることが多いので面倒なイメージでしたが、いつの間にか install_solr_service.sh というインストールスクリプトが添付されるようになっており、これを使うとあっという間にインストールできます。スクリプトの使い方の詳細については「Run the Solr Installation Script - Taking Solr to Production」にありますが、とりあえず以下の手順でインストールはできます。
あとは systemd からデーモンを有効化して、起動してやれば OK。
ファイルの置き場所は以下のようになっているようです。
- Solr の本体やユーティリティスクリプトなど、ユーザーが更新する必要がないもの:/opt/solr
- インデックスや設定ファイルなど: /var/solr
- デーモン起動時の環境設定など: /etc/default/solr.in.sh
† schema.xml がない
core の追加は /opt/solr/bin/solr を使って行うことができます。
上記を行うことで /var/solr/data/hoge のようなディレクトリができるのですが、conf の中を見てもスキーマを定義するための schema.xml がなくて困ってしまいました。これは、最近の Solr は 従来の schema.xml を使う方法(Classic Index Schema)ではなく、Managed Schema という REST API からスキーマを定義する方がデフォルトになったためです。まぁ、conf/managed-schema という気になるファイルを覗いてみたら、中身は schema.xml そのものでしたけど。
ぼちぼち使い方をマスターしていきたいと思います。
Apache Lucene/Solr 6.0 リリース
solr 全文検索エンジンとサーバである Apache Lucene/Solr のメジャーアップデート版 6.0 が公開されていたのでメモ。
最近あまり触っていなかったのですが、いつの間にか Java8 必須になっているようです。
全文検索ライブラリ「Apache Lucene 6.0」リリース、新たに多次元データをサポート | OSDN Magazine
Lucene 6では、Java 8が最小要件となった。また、新たに二次元/三次元などの多次元データがインデックスやドキュメント、コーデックAPIでサポートされるようになった。kd木ベースのデータ構造を使って処理を行うもので、これにあわせてIntFieldやLongFieldといった数値型フィールドタイプは非推奨となった。
Solr のインデックスを他の Solr にコピーする「solr2solr」
nodejs
solr Solr のインデックスのレプリケーションには標準の ReplicationHandler*1 が使えますが、定常的ではなく一度だけお手軽にできればいいやという場合に使えそうな npm のライブラリを見つけたのでメモ。
Migrate one Solr index to another, and multiply/manipulate the data on the way
This tool will query a given Solr index and copy it to another. Along the way it will give you the opportunity to change field names, drop fields altogether, and fabricate new fields.
使い方もシンプルなので、今度試してみようと思います。
gosen をコンパイルしてみる
solr
nlp
java Solr の形態素解析器としてよく使われている lucene-gosen*1 の gosen の部分だけを動かしてみたかったのでコンパイルをしてみました。ちょっと古いプロダクトなのでハマり所が随所にあります。
以下、作業メモ。
[gosen をコンパイルしてみる の続きを読む]
Solr 4.0.0 リリース
solr Apache Solr*1 の 4.0.0 がリリースされました。
今回のバージョンアップはクラスタ対応等いろいろと機能が増えていますが、起動してみて管理画面が綺麗になっていたのには驚きました。
Webアプリケーションに検索機能を提供するApache Lucene/Solrが大型アップデート
本日(米国時間10/12)Apache Foundationが、検索ツールセットLuceneと、このツールを使った検索プラットホームSolrの大型アップデート、バージョン4.0をリリースした。中でもとくに目立つのは、Solrが新機能の増設により、より使いやすく、スケーラブルで、よりカスタマイズしやすくなったことだ。
両者は連携的に開発が行われているが、Luceneはアプリケーションに検索機能を容易に導入するためのJavaライブラリ、Solrはユーザ(企業等)がWebサービスとして動かす検索エンジン本体だ。後者は言うまでもなくLuceneを検索の中心的機能として使っている。
これから少しずつ使い込んでいこうと思います。
Solr は 4.x へ
solr Solr4.0のα版がリリースされていた*1のでメモ。
4.0 になって機能追加された部分については右のスライドが手軽に読めるので便利です。
特に NoSQL な使い方をする上で便利な機能が追加されていたり、Pseudo-Joinが可能になっていたりするので使い方の幅が広がりそうです。あととはインデックスを分散配置させるための SolrCloud が導入されたのも注目ですね。これまではレプリケーションはサポートされていましたが、構成を変更するのは意外と手間がかかっていたので、それがどの程度改良されたのかは興味があります。
ruby-solr から rsolr へ乗り換え
ruby
solr 久しぶりに Ruby から Solr を叩くプログラムを書こうと思って調べていたら solr-ruby が obsolete になっていた*1ので、後継として推奨されていた mwmitchell/rsolr を使うことにしました。
インストールは gem install rsolr で一撃です。
あとはこんな感じでプログラミングできるようです。
今回の Solr マシンは Basic 認証がかかっているのですが、URLを下記のようにすれば Basic 認証してくれるようです。
- sadpkv
- CACHEMANAGER.phpというのはどうだろうかと
- pairb1m
- Lightning のToDoリストを複数のPCで共有できるアドオン
- majodca
- 九州旅行から帰ってきました
- majodca
- 九州旅行から帰ってきました
- hot534
- yum を使って OpenVPN をインストールする
- dresssu3
- NP_Trackbackを騙るトラックバックspamについて
- zippern7o
- NP_SpamBayesJP jp1b
- park81o
- Google Docs をメールフォームとして使う
- fogmpl
- なんで官庁の文章はPDFなんだろうか
- cutjw9
- 即席スライドショーを作る
- frightenlho
- 添付ファイルの容量を表示する「Attachment Sizes」
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(5025)
3 . GitHub が全ての公開リポジトリへのシークレットスキャンを有効に(4166)
4 . 年次の人間ドックへ(4096)
5 . 2023 年分の確定申告完了!(1つめ)(3951)
Academic[574]
Book[155]
Diary[522]
Disaster[101]
Foodlogue[1425]
Game[284]
Goods[805]
Healthcare[341]
Hobby[32]
IT[1195]
Military[343]
misc.[1570]
Mobile[510]
Music[38]
Neta[106]
News[95]
Photo[391]
RealEstate[120]
Security[1178]
SEO Contest[36]
Software[634]
Tips[1886]
Travelogue[1238]
Web[675]
Work[193]


