Apache Solrを使おうとして迷ったこと

Solrに送信した検索クエリは、対象のフィールド型に基いて分解した上で実行される

例えば、フィールド型 text_cjk (2-gram) への検索クエリを発行した場合、以下のようなリクエストになると思いますが、

localhost:8983/solr/core/select?q=さくら

(なお、クエリはURLエンコード処理すること)

Solrは受け取ったクエリ「さくら」を、対象のフィールド型に基いて 「さく」「くら」に分解し、それぞれの検索結果を返します。

Apache SolrのDigest認証とポート変更、アクセスログを記録する

全文検索エンジンのApache Solr (Lucene)を運用する際に、Solrの管理ページやAPI(select, update等)をDigest認証で守る方法です。

SolrはWebサーバとして動作するので、どんな言語環境からでもHTTP通信するだけで利用できるのが良いところ。
反面、ローカル環境にでも置かない限り、どこからでも接続ができてしまいます。
通信内容まで暗号化するSSL+Basic認証にするのが一番堅牢だと思いますが、ひとまずログインだけでも安全にしたいという場合に。

試した環境

  • Solrのバージョンは4.7.1
  • CentOS 6.5

前提条件

  • Solrの起動までは出来ていること
  • Linuxサーバ構築等の基本的な知識はあることが望ましい

2ch検索に、検索オプションを用意しました。

しばらく前に作った2chのスレッド検索サービスですが、検索のオプション設定を用意しました。

今まではスレッド作成日時順で表示していましたが、勢い順でも見れるようにしました。また、pink板(いわゆる大人向けの板)を除外できるようにしました。and検索も出来るようになりました。(恥ずかしながら、即興で作ったので前はできてなかった)

Seartwiにて「世界のTwitterユーザー」を公開しました

Twitter分析サービスのSeartwiにて「世界のTwitterユーザー (People on Twitter)」を公開しました。
世界の地域別(アジアやヨーロッパ等)・国別にTwitterのアカウントを分類して一覧しています。

いまのところ全部で20カ国くらいですが、ある程度のボリュームが揃い次第、順次ほかの国も追加していこうかと思ってます。 とりあえず人気順に並べていますが、今後フィルタを導入して、表示するユーザーを絞ったりできればなと考えてます。
都市別も出来ればやってみたいですね。

Webで使える人力翻訳サービスを調べてみた【2013年版】

Webサービスやアプリのローカライズで翻訳作業が必要になったので、 ウェブで人に依頼できる翻訳サービスを調べてみました。

(2013年の記事なので、情報が古いことがあります)

料金は、ほぼ文字数ベースで、1文字5〜20円くらい(元文で換算)と色々。例えば元文で1000文字の日本語を英語に翻訳したいとき、単価10円の人に頼むと、費用は10000円。交渉できる場合もある。 文字数の上限を設けて1クレジット買い切りみたいなのもある。(Conyacとか)

Twitterのユーザー分析のサービス「Seartwi」

seartwi イメージ

しばらく前からですが、Twitter検索に分析・集計機能を加えたクライアント的なサービス「Seartwi」を開始しています。

2013中頃くらいから水面下で作りはじめ、ひっそりと公開し、Googleさんからの流入を頼りにしつつ試験運用、改善の繰り返しで、割りと体裁は整ってきました。

発端は、あるキーワードでTwitterから調べた時の、
「この話題はどんな言語で話す人々が興味を持って発言しているんだろう。」
「古いユーザーばかりなのか、新規ユーザーはどれくらいいるのか。」
…という疑問からでした。

JavaScriptのデバッグコード(console.log等)を数行で無効化する

ここのところ、JavaScriptを使って結構な量のコードを書くことが増えて、デバッグ用に使っている console.log や console.time などをリリース前に簡単に消去できないかと思っていました。
(最初から消すことを念頭において書いていけばいいのだが)

リリース前に .js は Optimize(最適化)を行いますが、requirejsなどの最適化ツール(r.js)を通せばやってくれるものだと思っていました。が、どうもツールによっては、やってくれないことがあって困った。

そこでまぁ、ちょっと考えたのですが、JavaScriptってネイティブなメソッドの上書き(あまり好ましくないが)が出来てしまうんですよね。

console.log そのものを、何も返さない関数のオブジェクトで上書きしてやればいいじゃないかと。

window.console = {};
window.console.log = function(i){return;};
window.console.time = function(i){return;};
window.console.timeEnd = function(i){return;};

このコードが実行されると、console.log や console.time は何も出力しない関数になります。

リリース時は、スクリプトの先頭に上記のコードを記述しておいてやれば、
コードからわざわざ console.log 等を消す作業は必要なくなります。

そんなわけで。

Ustreamの2012年5月〜2013年5月までの日本語ツイート推移

Ustweet が回収した、Ustream の日本語ツイート集計(2012年5月〜2013年5月分)です。Firehoseではなく、また日本語判定に漏れたツイートもあるため、抜けはそれなりにあるでしょうが、推移の目安にはなるかと思います。

集計にあたって

  • TwitterのStreaming API、track利用。
  • Ustreamの(チャンネル)短縮URLが含まれ、かつ日本語を含むと判断されたツイートを収集。
  • チャンネル数は、ツイートされたUstreamの短縮URLのユニーク数で集計。
  • ベストエフォートです。正確さを保証するものではありません。

ホームを使わないTwitter生活

最近、自分が実践している「ホームタイムラインを使わない」Twitterの使い方。

いままでの僕のリストの使い方は、「今は見ないけど残しておきたい人」「ある特定の話題(Webに強いとか、ニュース発信元)」など備忘録としてのまとめであり、作ってもほとんど見ることがないものでしたが、リストをメインに据えた使い方を始めました。

全文検索エンジンSennaの2indバグを回避する方法

Senna (Tritonn) とは、未来検索ブラジルが開発した全文検索エンジンで、2indという機能があります。

(http://d.hatena.ne.jp/keyword/Senna)

2ind(2インデックス同時使用)というのは

MySQLなどでクエリを実行する際、1つのテーブルに対して、全文検索用のFULLTEXTインデックスと、他のインデックスを組み合わせて利用(インデックスマージ)できる機能です。

http://qwik.jp/tritonn/userguide.html#0cb0baa8b27d86e9233f601a9cc9cc4f

この機能を使わず全文検索を実行した場合、関連度合いでソートされた結果が返されます。ですが、大体の用途において、更新日時などでソートしたいことが多いと思います。

follow us in feedly feed

PAGE TOP