Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

「Solr」を含む日記 RSS

はてなキーワード: Solrとは

2022-12-12

anond:20221212083345

メジャーかどうか知らないけど、だいぶ前にApache Solr全文検索の仕組み作ったな

2021-12-17

ぶっちゃけ Log4j 2 の対応どうですか

多くの方がご存知の通り、Log4j 2 (以下面倒なので Log4j) の脆弱性 CVE-2021-44228 が公開されて一週間が経過しようとしています

ちなみに、数時間前に修正不備として CVE-2021-45046 が出ています。formatMsgNoLookups による対策はできません。大変ですね。皆さん対応のほう、いかがでしょうか。

今回の難所の一つに影響範囲特定があると思います

組織Java アプリケーションを開発している場合は、把握しやすいかもしれません。ですが、Elasticsearch や Apache SOLR などのソフトウェアなど、インフラ基盤として利用しているソフトウェアへの影響を確かめるのはなかなか大変な作業だったのではないでしょうか(もちろん素早くアナウンスを出してくれたところもありますが、ゼロデイだったこと、US は夜であったこからアナウンスを待つ前に対応必要だったところもあると思います)。

OSS なら依存パッケージ比較的調べやすいですが、SplunkSalesforce のようなアプライアンス製品などはどうでしょうスイッチルーターは? クライアントJava アプリケーションもですね。さらに、業務委託先はどうでしょう。考えることが山積みです。

ソフトウェアサプライチェーン管理の難しさを痛感した組織も多いのではないかと思います

ゼロデイだったため、最初対策方法についてもまとまっておらず、間違った対策方法が流布しているのも見かけました。

特定クラスファイルを削除する」という正しい対策も、「えっ マジかよ。クラスファイル消して他に影響でないのかよ。それはないだろ。」と思った人もいると思います。私は思いました。なんだその対策

その他 Web Application Firewallバイパスなど、ご対応された皆さん、本当に大変だったと思いますお疲れ様です。

ところで、私はもっと日本人情報共有しろよと思いました。

これも全部 Wizard Bible 事件アラートループ事件の影響なんだろうけど、それにしても具体的な攻撃手法が共有されてなさすぎだろ。

最初てっきり LDAP 閉じたり、WAF で jndi:ldap を弾けばいいと思ってたよ。対象を把握して全部対応するの大変だから、まずはそれでいこうと思ってたよ。全然ダメじゃん。RMIかいうよく分からないパターンもあるし、${lower} とか使って WAF バイパスするとかしらねーよ。そんなのできんのかよ。

攻撃メカニズムなどを解説してくれている記事があれば、最初からわず頑張ってアップデートする方向に舵取れたと思う。

誰も情報共有しないとセキュリティ業界衰退しますよ。人材育成もできないし。サイバー人材育成不足とか言う前に、ちゃんと然るべきところに意見言いましょうよ。

小学校で配られた端末のセキュリティ突破話題というのもニュースで見たし、放っておくと規制の方向にエスカレートしてしまうと思いますよ。

そういえば情報共有でいうと CISA は動きが素早かった。最初個人gist に影響のあるソフトウェアがまとめられていたけど、数日後には https://github.com/cisagov/log4j-affected-db網羅され始めた。Pull Request も取り込んでいて、素晴らしい。

一方で JVN DB の方はどうでしょうhttps://jvn.jp/vu/JVNVU96768815/

報告を受けている製品しか書いていないのですかね。国内製品もっと影響あると思うし、公表している製品もあると思うんですが。積極的にまとめていかないんですかね。こんな状態だと、組織は影響範囲を調べるのに苦労しますよ。

…と愚痴をダラダラと書いてしまって申し訳ない。

セキュリティ業界このままじゃダメだと思うのですが、なにか動きはあるんですか?」「皆さん利用している製品ソフトウェアの把握どうされているんですか? 」の2点をお聞きしたかったのです。

2020-10-16

https://forest.watch.impress.co.jp/docs/news/1283097.html

つかApache Projectで今も活発に活動してる奴ってServer, Lucene-Solr, Hadoop, Sparkくらいじゃないですか

2020-06-06

anond:20200606115132

なんかついでに飛び火させて申し訳ないけど、だいたいなんで人類の英知たるアカデミアの成果がPDFやら図書館の高い雑誌やら論文購読サイトしか取り出せないんだよ全部API化してapache solrでもElasticsearchでもいいか査読の終わったものからでいいから即アクセスできるようにしてくれよ。今日アクセス出来たら明日誰かの救いになる研究成果もあるかもしれないだろ?高い税金人類進歩という合意のもとに知恵者をみんなで飼ってやって研究させてやってるのに

2017-02-26

自動化って

暗黙知をなくす作業でもあるなぁと思った。

Ansibleとかはサーバー構築手順書をなくすことができるし、mavengemなどのパッケージ管理ツールセットアップ手順の暗黙知をなくすことができる(なんのライブラリ入れるーとか)

人にあれこれ聞くより、コード見て大体わかるような感じになっているとすごく助かるんだよなぁ。

もしかしてそういう感じで仕事を続けていけば、英語圏とかでも仕事できるようになるのかなぁ。

vagrant up ← コレだけで開発環境揃う環境、素敵に開発に入りやす

わしが1年1人でやっているやつ、ミドルウェア系には秘伝ミソが少し出来ているから、dockerで全部揃うようにしてみるかなぁ。Solr使っている部分とかしょうがないような気もしつつ、ローカルにあったほうが良いんだろうなぁ。あんま頻繁に開発しないし、そこは自分でやればいいか・・・。まあ多分solrコンテナを立てれば良いんだろう。

2012-12-12

Ruby on Railsアダルトサイト作ったよー

例に漏れ件のエントリーに影響を受けまして、Ruby on Rails を利用したサービスを作ってみました。

一つもアクセスがないため宣伝ついでに利用したgem作成する際に参照したサイトを載せますので、「Rails初心者っす」とか、自分と同じく「そもそもプログラミングとか知らねっす」という方はちょっとしたナレッジとしてご活用くださいまっせ。開発ガンガンやってる方には価値ある情報たぶんないよー。

作った人

とどのつまり性的健康青年休職中で暇でした。

作ったもの

シコったサイトクリップするのでシコリップ

動機

シコったオカズウェブ上にクリップするサービスで問題解決?

開発環境

最初Mac標準のエディタで書いてたけど、どこかの記事を読んでからは「Sublime Text 2 (http://www.sublimetext.com/)」に乗り換えました。すごく…便利です…。ターミナルMac標準のアレです。オススメがあったら教えてください。

gem

プロセス

完成までにやったこと、実装するために参考にしたサイトを並べます

RubyRails環境を構築する。(http://www.oiax.jp/rails/rails3/install.html)

簡単にウェブアプリの土台を作れるScaffoldという機能を使って遊んでみる。(http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-1)

行き詰まったので本を買う。(たのしRubyRuby on Rails 3 アプリケーションプログラミングRails 3 レシピブック)(※ 同タイミングで買ったわけではないです。簡単にウェブアプリを作るだけなら「Ruby on Rails 3 アプリケーションプログラミング」とインターネット接続できる環境があれば十分だと思います。ていうか他の二冊はまだ全部読んでない。)

ひと通り分かった気になり、作りたいものを作る作業へ。

$ rails new sicolip

こちらを参考にシコシコ適用

色んなgemがあって迷う。

・Device(https://github.com/plataformatec/devise)
・omniAuth(https://github.com/intridea/omniauth)

でも、

・Deviceはメールアドレスでの認証
・omniAuthはtwitter/fb認証

個人的に

エロサイトメアドを登録したくない
・エロサイト認証twitter/fbってなんか怖い

ということで、自前で実装。has_secure_password(gem:bcrypt-ruby) を利用する。

ここここを参考に。

サイトクリップURL投稿)したときに該当するサイトタイトルとか内容を取得する処理。

Nokogiri::HTML(open(target_url))

こんな感じでNokogiriオブジェクトを取得して、

return doc.xpath('//title').text

こんな感じでタイトルを取得する。こちらxpathほかのお勉強

ログインしている人にしかクリップURL投稿)をさせたくない。そんなときに使える認可処理。

cancanの実装はここここを参考に。

クリップしたサイト情報タグ管理したい。タグ機能の実装を手抜きできるのがこのgem

https://github.com/mbleigh/acts-as-taggable-on

http://prototype-beta.com/tags/acts-as-taggable-on

上記を参考に。

クリップしたサイト情報タイトルや内容、またはタグから検索したい。

その処理を手抜きさせてくれるのがsunspotさんサーバデプロイしたあとに

$ rake sunspot:solr:start

するのをよく忘れて動かない><ってなります

http://railscasts.com/episodes/278-search-with-sunspot?language=ja&view=asciicast

http://outoftime.github.com/sunspot/docs/

will_pagenateっていうgemもあるんだけど、kaminariが最近流行りらしい。

https://github.com/richardiux/sunspot_with_kaminari

クリップするためにこのサイトに飛ぶのちょっとめんどくさい。

ということで、はてなブックマークみたいなブックマークレットを作る。

http://d.hatena.ne.jp/ky2009/20090108/1231405893

herokuとやらが設定周りの色々めんどくさいことを肩代わりしてくれるという噂。しか無料

→ sunspotが有料オプションでした。やめる。

AWSというAmazonサービスが設定によっては無料らしい。

→ ほんとに無料だった。AWS内のElastic Beanstalkというサービスが、herokuみたいにめんどくさいことを色々やってくれる。

http://blog.serverworks.co.jp/tech/2012/06/28/aws-elastic-beanstalk/

http://qiita.com/items/811cd9b614d8d300628e

おわり

そんなこんなで出来上がったもの陳腐ものかもしれませんが、まがいなりにもひとつサービスができました。ここ1カ月だらーっとRubyRailsをさわってみて感じたことは、ウェブアプリを作るのって特別なことじゃないんだなーっていう。どこかで誰かも言ってましたけど、開発している最中パズルを解いてる感覚でした。ウェブに転がるピースを探して、フレームワークにあてはめていくようなそんな感覚

おしまい

2012-11-18

アダルト動画を配信するtumblrbotを作ってみました

今回、仕事の外でサイトを公開してみました。

目標としてはとりあえず新しそうなことをやってみるということで作りました


作ったサイトは2つ。

えっちなハイ!ムービー」(通常のアダルト動画サイト

えっちなハイ!ムービー in tumblr」(えっちハイムービーtumblr bot


えっちハイムービー比較普通サイトですが、

えっちハイムービー in tumblrbot作りに挑戦してみたのとtumblrでの動画の配信を試してみました。


技術的にはえっちハイムービーベースLAMP

言語・・・php

フレームワーク・・・codeigniter

スクレイピング・・・Simple HTML Dom

サイトデザイン・・・bootstrap

絞り込み・・・solr

サーバ・・・Apache

データベース・・・mysql

といったところです。


自分が知らなかっただけかもしれませんが、

比較的目新しかったのはtwitterのbootstrapで、

これでcss周りがだいぶ楽になりました。

自然レスポンシブ対応にもなったので

スマホでも見ることができるようになっています


solrはそこまで必要があるわけではなかったのですが、

前にも使っていて割とすぐに実装できそうだったので作りました

絞り込みで使っています


フレームワークcodeigniter特に本を買ったりするわけでもなく

公式サイトマニュアルを見てすぐに使えました。


えっちハイムービー in tumblrの方は

えっちハイムービーにある動画データを読んで

tumblrapiを介して配信しています


技術的にはOAuth必要になります

手順に何通りもバリエーションがあるというわけではないので

なんとかなりました。


今回は仕事などで得た知識や経験のまとめとして一人でどこまで作れそうかやってみました。

今後もまた思いついたものをちょくちょく作ってみたいと思います

サイトは両方とも18禁ですが大人な方はもしよろしかったらご覧下さい。

えっちなハイ!ムービー

えっちなハイ!ムービー in tumblr

2012-01-07

事務職リーマンwebサービス作ってみた

Webシステムとは縁遠い事務職のリーマンが、ある日思い立って、ニッチな用途の検索エンジンサービス作ってみたので、ちょっと書いてみようと思います

ちなみに、検索エンジンといっても、googleカスタム検索とかのお茶濁し系じゃなくて、apache Solrというオープンソース検索エンジンを、VPS上で動かしているという、それなりに本

気度の高いものです。

なんで素人がそんな物騒なものを動かす羽目になったかは、後述。

アイデアときっかけ

やりたい構想みたいなことを思いついたのは、もう6、7年前ほど前のこと。初めて独り暮らしを始めたときに、ひどく不便を感じたことがあり、こんなサービスがあったら便利だなあ、

と、ぼんやり妄想していました。

ちなみにその妄想をふと高校の同期に話したとき、そのサービスはどこにあるのか?!と、えらくがっつかれたのを、覚えてます。まあ、俺と同じく偏執狂の奴だったからだと思います

が。

ただ、しがない事務職リーマンということもあり、当然、技術も無く、そのときは、やるならこんな名前サービス名だろうなあ、とか、そんな妄想レベルで、話は終わっていました。

そんな感じで、5年ほど月日は経ち、なんとなくリーマン人生の流れも見えてきたところで、以前、妄想していたことを、ふと思い出しました。

5年も経ったら、さすがに自分が考えたようなこと、誰かがやっているだろうと調べてみたところ、意外なことに、競合になるようなサービス存在せず。ちょうど異動があって、少し時

間が出来たこともあり、じゃあ、着手してみようかと思い立ちました。

やりたいことは非常に面倒だった

やりたいことは、大手サイト情報検索。ただ、商品ページ内の特定情報、それも、商品ごとに正規化されていない表記を、正規化して抽出する必要があったので、大手サイトの既設API

だけではとても実現不可能でした。

まあ、だからこそ、5年間、誰もやろうとしなかったんでしょうが

ということで、とても一発では解決できなさそうな内容だったので、自分でなんとか実現できそうな機能に細分化して、各個撃破していくことにしました。

面倒なサービスをどう実現するか

随分と考えた結果、

以上に区分できると考えて、これらを各個撃破していくこととしました。

また、技術もなく、プログラミングも出来ず、ましてやlinuxサーバのお守りをしたことなんて当然ないので、インターネット上に置くサーバですべての処理を完結させるのではなく、イ

ンターネット上に置くリソースは最小限に留め、できる限り、勝手がわかる自宅のwindowsパソコンで処理を行うことにしました。

ちなみにさらっと結論だけ書いてますが、ここまで至るまでに、いろいろと調べ続たり、考え込んだりしていたので、思い立ってから3ヵ月は掛かってます。。。

検索エンジン周りの開発

さて、やる方針を決めたあと、はじめに着手したのは、要の検索エンジンサーバです。

いろいろとググって調べて、mySQLというやつか、apache Solrというやつかに絞りましたが、結局、Solrを使うことにしました。

MySQLのほうが実績は多そうだったのですが、Solrのほうが検索専門で、滅茶苦茶動作が速いらしいということ、MySQLでも出来るが特に速度が遅いらしい全文検索機能も使いたかったこ

と、あとファセット機能ジャンル絞りこみに便利に使えそうだったので、というのが理由です。

ちょうどSolr本が発売されていたこともあり、それを参考に、自分が使うように設定ファイルを変更していきました。

しかし、初めは設定ファイルの内容も意味不明な上に、私の書き方も雑なのか、少しいじっただけでまったく動かなくなる。結局、設定ファイルを一文字ずつ変更しては動作検証、とい

った始末で、進捗は地を這うよう。ある程度思い通りにSolrを扱えるようになるまで、3ヵ月以上掛かったでしょうか。。。

さらに、検索エンジンフロントエンドSolr検索結果を、htmlに変換するプログラム)も書かなければならない。プログラミングが出来ない人間には、これが本当に辛かった。

Solr本に、いろんなプログラミング言語でサンプルがあったのですが、迷った末に、わずか数行なら書いた(≒コピペした)経験があるという理由で、javascriptを苦渋の選択。

しかし、選択はしてみたが、基礎が本当に無いから内容がサッパリ頭に入ってこない。こちらも、わかるところから本当に1文字ずつ変えていくといった手探り状態。

プログラミングについては、今回のためだけだから、といった理由で、一切基礎をやらずに着手したのが裏目に出たのか、サンプルのソースをモノにして、書き上げるのに、ゆうに半年

以上。本当に時間が掛かりました。

kanzen21.comに衝撃を受ける

さらに、Solr周りで計9ヶ月間ハマっていた頃、忘れもしない、kanzen21のおっさん彗星のように現れて、衝撃を受けることになります

大手サイトのページをクロールして検索エンジンを作る手法は、私と考えていた構想の枠組みとまさに「完全に一致」な訳で。。。

図書館事件に注目していたのも同じで、あまりの一致具合に衝撃を受けっぱなしでした。

その後の成り行き等も含めて、興味深く観察させて頂き、本当に参考になりました。

クローラ周りとかの開発

そんな感じで紆余曲折もありましたが、ようやく難題だった、プログラミング関連に目処が立ってきたので、あとはクローラと肝心のデータ処理です。ここからは、勝手知ったるwindows

の領域なので、多少の安心感があります

まず、クローラですが、専用のクローラwindows用に探してきたり、それを設定するのも大変なので、今回はテレホーダイ時代に使っていたような、フリーweb巡回ソフトを利用する

こととしました。指定のhtmlダウンロードしてくるだけなので、別に変に新しいものに手を出す必要もないので。

また、ダウンロードしてきたhtmlファイルについては、これまたフリー日本語処理ツールでcsv方式に加工することにして、処理ルール部分を相当に作り込みました。

このあたりは、全体を通して見てもキモの部分なんですが、ある意味ちょっとしたパズル感覚だったので、プログラミング言語の部分と違って、かなり楽しかったです。

あとは、msdosバッチファイル(これは前から知っていた)で、これらの処理を繋ぎcygwincurlかいうツールで、連続して検索エンジンサーバcsvファイルアップロードする

仕組みを作りました

検索エンジンサーバには、容量は少ないが、安くて高性能という、今回の用途にピッタリだった、さくらVPSを借りて設定。CentOSサーバ構築ホームページを見ながら、サーバとか

Solr管理URLとかにセキュリティを掛けて、こちらも素人ながら、意外とすんなり設定。

ホームページは、vpsサーバ相乗りさせるのではなく、別にさくらレンタルサーバを借りました。apacheの設定方法等を習得する必要がありませんし、vpsリソースapacheと分け

合う必要が無くなるので。ホームページhtmlファイルcssファイル等も調べながら設定し、画像も準備しました。

あと、構想を思いついたとき妄想していたサービス名の.comドメインは、すでに他者に取得されていたのですが、どうも使っている風にも見えなかったので、whoisで出てきたメール

ドレスに連絡して交渉し、幾ばくか払って買い取りました。

ようやく完成

結局、足かけ18か月。ようやく完成。

楽天市場家具を、幅x奥行x高さ(家具サイズ)で検索できる、楽天市場家具カテゴリ専門の検索エンジン

カグサイズ検索

http://kagusize.com

この商品数規模(データ収録約30万アイテム)で、1センチ単位家具サイズ指定検索が可能な手段は、商用サービスも含めて、ほかには存在しないと思います

kanzen21と違って、エロじゃないから華はないけどね。。。


カグサイズ検索提供する価値について

ちなみに冒頭で少し書いたきっかけですが、就職して独り暮らしを開始したときに、新しい家にピッタリサイズ家具が欲しかったのですが、これが楽天で探すのは至難の技でして。

楽天家具を探してみようと思った人には判っていただけると思うのですが、楽天では、価格では範囲指定やソートができても、サイズでは検索出来ないんです。

これは、楽天では、商品のサイズ情報は商品の自由記述欄に記載することになっているためで、商品ごとにサイズの記載方法がバラバラのため、検索事実上、不能となっています

家電製品とかに関しては、種類が少ないこともあり、メーカーホームページとかでサイズを確認した上で、商品型番で検索すればいいので、それほど問題にはならないのですが、家具

って、種類が非常に多く、型番もあったり無かったりで、家電のようにサイズを調べることができません。

しかも、サイズが非常に重要な商品です。なんて不便な!

・・・ということで、カグサイズでは、楽天の商品ページにいろいろな書式で書かれているサイズ情報を拾って解析して正規化し、範囲指定やソートして検索ができるようにしています

また、単に寸法サイズを拾うだけでは、梱包サイズとか引き出し内寸とかも引っ掛かってしまうので、それらは出来るだけ排除して、商品の外寸が優先して引っ掛かるよう、アルゴリズ

ムを調整しています

単位センチミリ)に関しても、商品ごとにバラバラ(単に単位だけでなく、商品説明のどこに"センチ"とか"ミリ"と記載しているかについてもバラバラです。)なので、サイズ表記

前後の状況をみて、正しいと思われる単位で拾うようにしています


その他

あと、変わった使い方としては、欲しい家具価格比較みたいなこともできます

家具は、同じ商品でも、店ごとに型番が違ったりすることがよくあり、簡単には価格比較が行いづらいジャンルの商品です。

しかし、型番は違っても、同じ商品なら原則、サイズは同じですから、欲しい商品とまったく同じサイズ検索をかけると、同等商品があるのかどうか比較しやすい・・・といった使い

方もできます

おわりに

と、そんな感じで、しがない事務職リーマン作ってみたニッチな用途の検索webサービスを、サービスインさせて頂きました。

一般に公開されていて、誰でもアクセスできる情報でも、ニーズが有りそうな切り口の条件で検索性を高めれば、新しい価値創造できるんじゃないかという実験です。

もしよろしければ、ぜひ、使ってみてくださいー。それでは!

----------

カグサイズ検索

http://kagusize.com

追記

アップ直前の変更により、最大サイズの指定がうまく働かなくなっていたため、修正をしました。ご指摘有難うございました。

 
ログイン ユーザー登録
ようこそ ゲスト さん