Semgrep CodeFind and fix the issues that matter in your code (SAST)
Semgrep CodeFind and fix the issues that matter in your code (SAST)
はてなアプリケーションエンジニアの id:takuya-a です。 この記事では、Microsoft の検索エンジン Bing で採用された BitFunnel アルゴリズムを紹介します。 昨年のエンジニアアドベントカレンダーでは、文字列検索のアルゴリズム全般について紹介しました(文字列アルゴリズムの学びかた - Hatena Developer Blog)。今年はそのなかでも、インデックス(索引)を使った全文検索アルゴリズムについてのお話になります。 この記事の前半は全文検索の入門にもなっていますので、検索技術になじみがない方にも楽しんでいただけるのではないでしょうか。 逆に、「そんなのもう知ってるよ!」という方は、本題である「BitFunnel アルゴリズムの詳細」から目を通していただければと思います。 この記事は、はてなエンジニア Advent Calendar 2017の21日目の
6月27日にクラスメソッド事業開発部の開発メンバーとベルトラ開発メンバー合同で Elasticsearch 勉強会1/2を開催しました。参加者はリモートも含めて約25人くらい。時間は2時間。久しぶりに長時間喋ったので疲れました。。たくさんの人が参加すると聞いていたので、この勉強会のために資料まとめたので公開します。 Elasticsearch 勉強会 1/2 前半全文検索エンジンの特徴について話しました。いきなり「転置インデックス」と言われても、ピンと来ないかもしれませんが。全文検索エンジンの設計を担当する人も、それを使ってアプリケーションを開発する人もこの仕組みを知らなければ Elasticsearch のリファレンスで提供されている機能を見てもピンと来ません。「この機能何に使うんだろう?」となってしまいます。世の中にある全文検索エンジンに標準規格というものは存在しませんが、その仕組みは
lestrratさんがやってくれました。 ずいぶん前から、ソースコードを検索して読みやすいコマンドはないかなーと思っていました。個人的にはackで検索して見つかったファイルをlessで開いて再びキーワードを入れて当該行までジャンプしていたのですが、毎回毎回めんどくさい感じでした。コマンド一発でインクリメンタル検索してキーワード周辺のソースコードを読めるツールが欲しいなぁって思ってたんです。 とあるslackでお昼時に、mattnさんと「ほしいですよねー」という話から始まって、vimにあるgrepとかも物色しながら「いいのないねー」とか言ってたらkanさんが「@lestrrat 案件だ」って言い出して牧さんが召喚されてついさっきpecoに必要な機能が追加されてました。速いw ためしにpicotlsの開発ディレクトリでpecoの一行ラッパーperoを起動し、「EVP_Digest」を検索してみ
IT系勉強会ウォッチャーの川崎です。2016年4月26日(火)に開催された NEologd Casual Talks #neologd に参加してきたのでイベントの様子をご紹介いたします。 イベント内容 NEologdは、形態素解析のための新語辞書で、作者が新語の定期更新をされています。今回のイベントはNEologdの公開から1年を機に開催されました。 MeCab 用の新語辞書 mecab-ipadic-neologd を公開しました NEologd Casual Talks 会場は渋谷ヒカリエのLINEさんでした。 NEologdをどう使うと便利なのか ークエリ拡張における活用 by @Quasi_quant2010 LT2本から本イベントが始まりました。最初は@Quasi_quant2010さんの「NElogdをどう使うと便利なのか ー クエリ拡張における活用」というLTでした。NEo
おととい、Apache Lucene 6.0.0 がリリースされました。 Lucene 6 での変更点のハイライトは、アナウンスによると Java8 以上が必要になった Dimensional PointsDocument classification (KNearestNeighborClassifier, SimpleNaiveBayesClassifier)デフォルトの Similarity (類似度計算方式)が Okapi BM25 に変更された ・・・などがあります。 Dimensional Points は数値や日付、地理情報といった、文字列以外のデータ型のインデクシング/検索の性能を向上させるために追加された、多次元データを扱うための汎用的なフィールドタイプです。k-d tree というデータ構造が使われています。それに伴い、従来の NumericField (IntFiel
About Kuromoji Kuromoji is an open source Japanese morphological analyzer written in Java. Kuromoji has been donated to the Apache Software Foundation and provides the Japanese language support in Apache Lucene and Apache Solr 3.6 and 4.0 releases, but it can also be used separately. Downloading Download Apache Lucene or Apache Solr if you want to use Kuromoji with Lucene or Solr. See below for so
インターネットの未来を描くために、Yahoo!は「検索」と「3Dプリンタ」を融合させたコンセプトモデル「さわれる検索」を開発しました。検索したものがそのまま立体物として形づくられる、“新たな検索”への第一歩です。インターネットは、見るもの、聞くもの。 それが「さわれる」ようになったら、どんな未来が待っているんだろう? くわしく見る>
Geoff’s site: The Silver Searcher: Better than Ack ggreer/the_silver_searcher · GitHub パターン検索にはackを利用していて、通常利用時には特に不満は無かったんですが、 ファイル数が多いディレクトリだと遅かったので、もっと他の方法が無いかと調べていたら ackの3〜5倍速いというThe Silver Searcherというものが あったので導入。 The Silver Searcherの特徴 公式に書いてあるThe Silver Searcherの特徴 ackの3〜5倍高速 .gitignore、.hgignoreに記載されているものを検索対象から除外 検索対象から除外したいファイルは.agignoreに記載 agというコマンド名で、ackと比べてコマンドが短い(33%減!) なぜ高速なのかは https
本記事は、Mark Miller 著「Scaling Lucene and Solr」の日本語訳である。 日本語訳 © 2011 Basis Technology 訳注:原典が書かれた2009年前半の時点では、Solr 1.4 は開発中であったため、単に Solr と書かれているものは、Solr 1.3 を指します。本記事の内容の一部は、Solr 1.4 またはそれ以降の版には適用できない可能性があることをご承知置き下さい。 目次 はじめに 単一サーバーの最適化 索引の管理 索引の最適化 メモリーの管理 クエリー スループットの最大化 JVM の設定 サーバーの他の機能 多量のクエリー Lucene のレプリケーション機能 Solr のレプリケーション機能 大規模な索引 分散 Lucene 分散 Solr 大規模の索引と大量のクエリー まとめ リンク集 はじめに Lucene は非常に複雑
グリーでログ分析システムの開発を行っている一井崇氏からは、「全文検索のちょっとちがった使い方(仮)」と題する発表があった。 グリーにおける数値指標管理では、基本となるデータの総数が「1億キー×最大7年」という膨大な量に上り、さらに時間ごとに増え続けるアプリIDとの組み合わせなども考慮すると、すでに人間の手では管理しきれない状態にある。 同社ではMySQLベースのKVS(Key Value Store)によって、これらのデータを管理しているが、問題はkeyの数が膨大過ぎて必要なkeyを見つけるのが困難になっていることだという。 その解決のためにHadoopやMongoDBを導入するといった選択肢もあるが、同社が取った方法は「key stringを全文検索することで目的のkeyを探す」というものだった。一井氏によれば、グリーの数値指標管理システムの目的を整理すると、以下のようになるという。 や
研究開発グループの takahi-i です。 先日名前だけご紹介したAnuenue というツールをご紹介させていただきます。Anuenue は Apache Solr のラッパーであり、検索クラスタの構築と運用を容易にする目的で制作されました。 本稿では始めに Apache Solr を選択した理由について述べ、その後、このツールを開発した背景とその目的をご紹介させていただきます。後半では実際に Anuenue を用いて検索クラスタを立ち上げます。 なぜ Apache Solr を採用したのか 昨年の秋、弊社の検索エンジンを置き換えるという計画が社内で策定され、ベースとなる検索エンジンの選定のために多くの OSS 検索エンジンを比較検討しました。このとき重視したのは一台の検索パフォーマンスと同時に、保守の容易さと、開発コミュニティの規模です。 検索エンジンの保守性に関して特に重要と考えたの
What is Elasticsearch? Elasticsearch is REST based, distributed search engine powered by the excellent Lucene library. The built in JSON + HTTP API provides an elegant platform perfect for integrating with (ex: the elastic_searchable ruby gem). It’s simple, scalable and “cool, bonsai cool“. Why is it better than Solr? First of all, let’s set the record straight: Solr is fast. I’m serious…it’s rea
Microsoft が運営する検索エンジン「Bing」は、トップページの背景画像が日替わりで変わる。例えば、2011年1月29日の背景画像はこんな画像になっていた。この動物はなんだろう、と思ってマウスを動かしてみると説明が登場。「なるほど、ウンピョウというのか。なになに、日本の動物園にもいるの?」と思ってクリックすると、ウンピョウ 動物園 - Bing へ移動する。検索結果を見ると、よこはま動物園や天王寺動物園、旭山動物園などにウンピョウがいることが分かった。クリックすれば答えにたどり着けるので、手軽に検索の楽しさを体験できるようになっている。画像ごとに隠された4つの説明画像には毎日4つの説明が隠されていて、それぞれに違ったリンク先が設定されている。ウンピョウの日はこんな感じだった。ウンピョウはインドから中国南部にわたって、生息しています 日本でウンピョウを見ることができる場所は? → ウ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く