ソフトウェアの話かもしれない
Webクライアント側の例外処理のテストやそもそも挙動確認等で、サーバ側に多少奇妙な挙動、例えばHTTPヘッダーのある1項目を規定外のものにする、といったことをさせたいことはありませんか。 ただし、残りの99%部分は普通に動いて(いるようにみせかけて)…
PandasでDataFrameのカラムAの値とBの値を結合して、新たにC列を作りたい...てなことがよくあると思います。 普段は自分の中で可読性が高いと思っているapply系の手グセで記述しているのですが、まれに、他の言語やフレームワークに置き換えるまではいかない…
Elasitcsearchで「全文検索」寄りでいろいろ遊んでみようと思うと、程よい公開データが欲しくなります。 そんなデータの一例として、livedoorレストラン DataSetというのがありますので、こちらを利用させてもらって勉強するというのも一つの手かと思います…
はじめに この記事は、次の記事の続きです。 itdepends.hateblo.jp 前の記事では、ひらがな(読み仮名)→漢字にフォーカスしましたが、ここでは、ひらがなの単語の複合語や漢字とひらがなの混合の複合語などででヒットさせるにはということで膨らませてみま…
Jinja(Jinja2) JinjaはPythonで動作するテンプレートエンジンです。 PythonのWAFのFlaskのデフォルトのテンプレートエンジンでもあるようです。 WAFとの結びつきが強いイメージなのでWebアプリでしか動作しないのかなと思っていたら、コマンドラインのPython…
はじめに 検索エンジンのスコアリング・チューニングは「関連度」がキモ...だが... このブログの前の記事で、「BM25」のような情報検索における関連度について、「使わせていただく立場」として載自分なりの講釈を述べてみました。 itdepends.hateblo.jp 関…
1. はじめに このブログではElasticsearchについて時々思い出したように書きなぐっております。 そしてこの記事では、Elasticsearchのデフォルトのスコアリング方式であるBM25について、数式が苦手でも、なんとなく分かった気になる(かもしれない)解説を試…
はじめに この記事は次の記事のアナザーバージョン(切り口は少し違うが同じことを別の表現で表したもの)です。 itdepends.hateblo.jp itdepends.hateblo.jp とあるタイプの検索サイトのElasticsearchを使ったサービス設計などに関する私見(2019年改訂版) …
Elasticsearch percolatorと私 再びとはなんぞやといいますところ、このブログの中での登場が2回目ですという意味です(笑)。 最初の登場は、こちら。 itdepends.hateblo.jp 上記の説明では、percolatorについては、公式リファレンスの直訳・意訳で検索条件…
はじめに 本職のデザイナーさんはいるけど、いろいろあってエンジニアとしての自分もAdobe XDをちょっとさわる必要がある、あるいは検索UX担当としてイケてるツールでお絵かきしたい。 (というか、PowerPointや神EXCELは少し休みたい) ... という時に、さ…
検索サイトで、どのようにElasticsearchを活かしてサイトをディレクションするかについて自分の意見をまとめてみました。 まとめてみたと言いいつつ、アタマの整理の過程をダンプしたという体裁になっています。... のでまとまってないかもしれません。 何か…
2018年にマイWebブラウザでブックマークしたページ(かつブックマークした際に有効そうだと思って、時間がたっても依然として有効だとおもいつつ、一方で、まだしっかり読み込めていないもの*1のおさらいです。 分野は雑食ですが、やや実用テック系多め。 ま…
はじめに 具体的にどうという話ではないのですが、一部の界隈では、貧弱な環境でgrepコマンドのみで様々なテキスト調査、下手をすれば人間をAIに見立てたNLPを実施しなければならんということが無いでしょうか。 貧弱な環境の解決にはなりませんが、もし近く…
はじめに この記事は、 itdepends.hateblo.jp のおおよその続編。 また、 itdepends.hateblo.jp itdepends.hateblo.jp の親戚記事です。 一言で言うと、「ナレッジインデックス(仮称)」というものを考えて、こいつの有効性を(実証は難しいものの)いくつ…
はじめに 弱者のエンジニアリング、細腕エンジニアとして、検索サイトのUX向上に向けて、せっかくある記事ページをナレッジインデックスとして検索に活かそうという論を主張します。 (Elasticsearchカテゴリとしたのは、Elasticsearchの機能にインスパイアさ…
この人、何言ってやがるという時に感じる違和感の大半は、その人の発言とその人の行動のある種の矛盾からくるものが多いような気がする。 他人のとるにたらないミスを責める人は、むしろ大きな、周りにも迷惑のかかるミスをする。 別に相手の矛盾をついて、…
◯◯たるもの、嗜みの一つとして、Elasticsearchの日本語関連のAnalyze設定のフェイバリットのひとつ、ふたつはお持ちかと思います。 検索要件次第のところもありますが、そこがはっきりしない場合など、自分の脳内基本設定の軸があることで、それとの比較でト…
はじめに Elasticsearchの検索やヒットの仕方をいろいろためしてみたいという時に、そもそものデータをどう用意するかというところは地味ながら悩ましいです。 というのも、bulk APIはあるものの、Elasticsearchは良くも悪くもJSONの世界観ですし、試したり…
はじめにのはじめに この記事では、検索サイトをインスタントに検討するときに、こんな形でサバきかたをしたらほどよく効率的・効果的なのではないかというところの自説をつらづらと書き綴ってみました。 (前置きが長いです。) はじめに: Elasticsearchの…
はじめに ElasticsearchのIngestNodeでのProcessorについて、現在のバージョン6.xで提供されている各編集機能を一覧にして逆引きしやすいようにしてみました。 寄り道の補足1 IngestNodeはインフラや非機能要件的にはポイントとなるお話があるとは思いますが…
はじめに Elasticsearchには、Suggestersといういわゆる検索BOXのオートコンプリート等に使える問い合わせのAPIがあるようです。 先人が様々なカタチで利用方法やTIPS等をまとめていただいています。 ただし、Suggerstersに限らないものの、製品がどんどん発…
ソフトウェア開発の方面では、顧客の本当に欲しかったものという有名な風刺絵(?)があります。 https://www.google.com/search?q=顧客が本当に欲しかったもの 私はこのイラストで表現された「あるある」が非常に好きなのですが、最近、もう少し狭い範囲ですが…
はじめに 題名のとおり、検索サイトの検索ページのURL体系についての考察をしてみた。 バックエンドがElasticsearchでの検索を想定しており、ElasticsearchでのクエリDSLへの繋がりが良さそうなものを...という意味ではそうなのだが、"Elasticsearch"という…
はじめに CMSを変更したり、おおよそ保持するテキストは変えないもののデザイン(htmlマーキングを含む意味)を変更した際に、現行の内容を移行漏れしていないことをざっくりテストしたいということはないだろうか。 この手のざっくり移行テストをするという…
ことの経緯 Redmineのwikiページ中に、issuesテーブル等を特定の条件で検索して、それを一覧表示したいということがあったのだが、リッチなプラグインを探して試すよりも作成した方が早かったので作成してみた。 うろ覚えであるが、Redmineのwikiでオレオレ…
はじめに Elastisearchのマッピングの設定についてまとめてみた。 ここでは、typeやanalyzerなど他で詳しくとりまとめされているサイトがあるものは割愛し、その他の設定プロパティや、Dynamic Mapping(ダイナミックマッピング)、Index Template(インデッ…
はじめに(言い訳) 毎度、タイトルはでかく出たものの、その割になにか分からない感じですが、簡単に言うと、Elasticsearchで検索サイトを構築する時に、一発でなかなかうまくいかないこともあろうでしょうから、その時にどこをチューニングするかという話…
ストレスツールといえば、ab、jmeter、gatlingなどといろいろあるようだが、例えば既存サイトのアクセスログ一式があるとして、このアクセス負荷を再現する&できるだけ深く考えたくない&実際どのような負荷がかかっているか・サーバが応答したのかをトレー…
2万回のA/Bテストからわかった 支持されるWebデザイン事例集作者: 鬼石真裕,KAIZEN TEAM出版社/メーカー: 技術評論社発売日: 2018/07/25メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 自分にとって良かった点 感想というか自分にとっ…
SQLのシンタックス(の背景にある考え方) SQLって関数的なのはスバラシイが、なんかもやもやする。 これはSQLが何をどう扱うかという次のことが分からなかったから。 表(リレーション)の演算、集合の演算 FROM(ON やJOIN含む)、WHERE、GROUP BY、HAVING…