目次
また、ツイートから始まるお話です。 まだまだ、検索システムってどんなものかを勉強したいしということで、こんなのをツイートしてました。
「検索システム探訪」みたいな名前がいいかな? https://t.co/sG7BDdGI9h
— Jun Ohtani (@johtani) February 6, 2020
検索について知り合いとお茶をしながら話をしていて、こういう話を聞くの面白いなぁと思ったので。 どんなことを個人的には聞きたいかな?というのをまとめといたほうがいいかと思いブログを書いています。 こんなことも面白そうだよね?
どんなこと聞きたいかな?
いまのところ思いついた内容はこんな感じかな? こんなのも聞くと面白そうだよね?などありましたら、コメント欄に書いてもらえればと。
- 利用しているシステム・サービスは?
- 構成やどこのサービスなのか?
- 検索ユーザーはどんな人?
- ユーザーの種類
- ユーザーの検索ニーズ
- 検索対象データはどんなもの?
- データ件数はどのくらい?
- 属性、項目がどのくらいあるか?
- 検索結果として出したいものは?
- ソートはどんなものがあるの?
- ランキングで重要なものは?
- UI/UXはどんな感じ?
- ハイライト、ソート、ファセット(Aggs)
- キーワードサジェスト、オートコンプリート
- 検索システムの監視(オブザバビリティ??)
- ビジネス的な指標
- クエリログ、クリック(ユーザーに関する情報)
- システムメトリクス
- 困っていることは?
- ランキング
- クエリ
- 検索システム分析
第1回やりました。
ちなみに、最初のツイートに対して、すぐに返事をくれた方がいました。
うちでよければご説明します!
— Kizashi (令和もRailsエンジニア募集中) (@kizashi1122) February 6, 2020
Twitter本当にありがとうございますという感じです。
で、早速話を聞かせていただきました。大阪の方だったので、テレカンでやらせていただきました。 移動時間とか気にせずにできるので、テレカン形式いいですよね。
内容は、非常に面白かったです。 使ってるシステムについて、どんなところで、どのようなように検索エンジンをつかっているのか、 どんなことで困っているのかなどをお聞きすることができました。
2020/02/13 追記
対応していただいたIngageの永田さんから、内容を公開しても良いという承諾をいただいたので、メモを公開します。
- サービス : Re:lation
- 問い合わせメールなどのチームで対応する対応
- 利用している検索エンジン
- Elasticsearch (AWS Es)
- ノード数 8 - 3 master + 5 data
- Elasticsearch (AWS Es)
- データ
- データ数 : 約1億5千万
- 親子関係 : チケット - メール(=1ドキュメント) - コメント
- 画面としてはチケットの一覧=aggsでチケットIDの一覧を生成してリスト表示
- インデックス数 : 5 = テナントごとに振り分けしてる。
- 8シャード - スケールアウトした場合も対応できるので。
- PostgreSQLにマスターは保存
- データの単位はメール。コメントはtextの配列でメールに保存されている。
- EsはIDの一覧を返す。ただし、チケットのIDの一覧
- 機能
- ハイライト
- Esではなく独自実装。
- クエリ
- n-gramでやってる = kuromoji使ってない
- min=1, max=2
- ハイライト
- 悩み事
- EBS上だったものをローカルにしたので速くなった。
- 期間が長いと、検索結果一覧の表示が遅い
- aggsが遅いのかな?
- 検索結果一覧はチケットが持っているメールの日付の降順。結果一覧はチケットの一覧。
- 詳細検索はDB、左のステータスもファセットも現在はDBから生成
- Es使ったほうが早いかも?
- マルチテナントのつらさ
- 検索ログ
- 独自ログはとっていない = アプリのログから判別
- 今後
- アドレス帳検索
お誘いお待ちしております!
今後もこれやっていきたいなぁ。話してもいいよ!という方がいらっしゃいましたら、@johtaniまでDMもしくはメンションをください。お待ちしております!
comments powered by Disqus
See Also by Hugo
- 今年もMICESにオンライン出張してた
- 検索システムを構成するパーツ(検索システムに関する妄想その2)
- システムの特徴と検索機能について(検索システムに関する妄想その1)
- 今興味があること(Jugemより移植)