Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Drupal Elasticsearch Connector の日本語検索の質を高める
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Koji Kawamura
October 06, 2021
Technology
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Drupal Elasticsearch Connector の日本語検索の質を高める
2021-10-06 に Acquia でぶちゃんねるで発表した資料です。
Koji Kawamura
October 06, 2021
More Decks by Koji Kawamura
See All by Koji Kawamura
ESRE とか ELSER とか RRF ってナニ!? もろもろ理解してスッキリしよう
ijokarumawak
2
2.5k
Other Decks in Technology
See All in Technology
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
580
[モダンアプリ勉強会]今更聞けないGit/GitHub入門
tsukuboshi
0
330
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
110
MCP Appsを作ってみよう
iwamot
PRO
4
370
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
150
2026TECHFRESH畢業分享會 - Lightning Talk - 資料也要 CI/CD? 用 Airbyte 自動化資料同步
line_developers_tw
PRO
0
580
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
350
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
580
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
360
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
110
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
430
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
110
Featured
See All Featured
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
54k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
340
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Balancing Empowerment & Direction
lara
6
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
610
GraphQLとの向き合い方2022年版
quramy
50
15k
How STYLIGHT went responsive
nonsquared
100
6.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How to Ace a Technical Interview
jacobian
281
24k
Skip the Path - Find Your Career Trail
mkilby
1
140
Transcript
Drupal Elasticsearch Connector の 日本語検索の質を高める Koji Kawamura, Education Architect Oct
6, 2021
適切に権限を絞ったユーザを利用する "elastic" はスーパーユーザ! Elasticsearch drupal_* その他 drupal-connector
Elasticsearch に ロールを作成 クラスタ稼働状況の monitor 権限と 特定インデックスの操作の み許可
Elasticsearch に ユーザを作成 先程作成したロールを付与 したユーザを作成 パスワードに # があると Drupal から接続時にエ
ラーになるので注意 (内部で parse_url 関数を 利用しているため)
Drupal から Elasticsearch へ セキュアに接続 Elasticsearch 側のセキュ リティ設定をするのは大前 提。 Connector
の設定画面で 設定したパスワードはその まま閲覧できてしまう 最低限の権限でアクセス
インデックス名 インデックス名のプリフィッ クスをつけておくと他のイン デックスと差別化しやすい
Elasticsearch で全文検索 転置インデックスを作っている Elasticsearch drupal_* drupal-connector pages https://www.book-editing.com/why-book-indexing/ 本の末尾にある索引のような、転置インデックス
POST _analyze { "analyzer": "standard", "text": ["可愛いしいたけを試してみてください。"] } 検索漏れは少ないが、ノイズが大量発生。 「たけのこ」でもヒットするでしょう。
デフォルトの日本語解析
POST _analyze { "analyzer": "kuromoji", "text": ["可愛いしいたけを試してみてください。"] } 「しいたけ」で検索した場合のみヒットできる。 ノイズが減る。
Kuromoji は Elasticsearch のプラグイン。 形態素解析 kuromoji
Elasticsearch インデックスのカスタマイズ Drupal 側で作成する前に、事前に作成しておく Elasticsearch drupal_* drupal-connector pages Drupal 側から連携する前
に明示的に作成 1 2
インデックスを事前作成 PUT drupal_allcontents { "mappings": { "properties": { "_language": {
"type": "keyword" }, "body": { "type": "text", "analyzer": "kuromoji" } }, "id": { "type": "keyword" } } } 事前に作成しておけば、 Drupal の設定画面から指 定できない設定も行える
kuromoji でノイズを 減らすことができた! 可愛いしいたけを試してみてください。 でも、 ヒットしない
kuromoji_readingform で 読み仮名検索 可愛いしいたけを試してみてください。 doc #1 語 ドキュメント ID シイタケ
1 本文も検索語もカタカナで 解析してあげる
記事の本文を複数の方法でインデックス body を body と body_kana の二つの方法で索引付け
ユーザ辞書 kuromoji では辞書を使っ て単語の分割をしている 辞書に載っていない単語、 新語は検索もれが発生し てしまう そこでユーザ辞書! kuromoji_ dictionari
es.zip vi dictionaries/userdict_ja.txt 平茸,平茸,ヒラタケ,カスタム名詞 zip -r kuromoji_dictionaries.zip dictionaries
同義語 (シノニム) 同じものだけど 別の呼び方 ミルク、牛乳
おまけ Connector が発行するクエリってどんなの? Slow query でログ出力して観察
Elastic App Search という選択肢も クエリログの分析 ユーザが検索したキーワードで検索結果がヒッ トしない、もしくはクリックされない場合、検索エ ンジンとして改善が必要 関連度チューニング 複数の検索語を入力する際、全て含む
AND いずれか OR 3つ以上の場合少なくとも 1つ、 曖昧検索する?などを一つのスライダで制御可 能 クローラ Web サイトの自動巡回クローラがついに GA! より簡単にサイト内検索を提供可能に https://www.elastic.co/jp/app-search/
Elastic 公式トレーニングの紹介 体系的に学びたい方は是非 どんなコース?受講方法は? Elastic 公式トレーニングサービスのご紹介 https://www.elastic.co/jp/webinars/intro-to-elastic-training 定期開催 Elastic 公式トレーニングスケジュール
https://www.elastic.co/jp/training/schedule?timezone=Asia+-+Tokyo
Q&A Thank you!