SlideShare a Scribd company logo
Solr と自然言語処理による
Salesforce のディープサーチ
ベイシス・テクノロジー株式会社
長谷川 純一
Agenda
• Salesforce の検索のしくみ
• Salesforce Multi Tenant Architecture
• マルチテナント環境下での剣先機能の制限
• KonaSearch のアプローチ
• インデックス処理
• クエリー処理
• 検索ページ
• 他の Org、外部データソースとの横断的な検索
Salesforce の検索のしくみ
インデックス処理
① レコードの作成
② トークン化
③ 検索インデック
スへの保存
Source: SALESFORCE ヘルプ > ドキュメント > 検索機能を使用した情報の検索 > 検索のしくみ
ROSETTE
TEXT ANALYTICS
クエリー処理
① 検索クエリー
② トークン化
③ インデックスと照
合
④ 関連性によるラン
ク付け
⑤ アクセス権限に
基づき結果を返す
Source: SALESFORCE ヘルプ > ドキュメント > 検索機能を使用した情報の検索 > 検索のしくみ
ROSETTE
TEXT ANALYTICS
マルチテナント アーキクチャ
Source: Salesforce Multi Tenant Architecture: How We Do the Magic We Do
マルチテナント アーキクチャ
Source: Salesforce Multi Tenant Architecture: How We Do the Magic We Do
マルチテナント アーキクチャ
Source: Salesforce Multi Tenant Architecture: How We Do the Magic We Do
マルチテナント アーキクチャ
Source: Salesforce Multi Tenant Architecture: How We Do the Magic We Do
マルチテナント アーキクチャ
Source: Salesforce Multi Tenant Architecture: How We Do the Magic We Do
マルチテナント環境下での
検索機能制限
 検索対象オブジェクトに制限
 検索結果数に制限
 日本語の柔軟な検索ができない
(標準的な検索だけを想定したインデックス)
 Org をまたいだ横断的な検索ができない
Salesforceのあらゆるフィールド、オブジェクト、
ファイルと他のデータソースを単一のインデックスで
自然言語検索するAppExchange認定アプリケーション
KonaSearch アーキテクチャ
インデックス処理
インデックス
Direct
Connector
メッセージング
キューイング
ストリーミング
サーバー
ディスパッチャーコンテント ストア
データ
インポート
GCP Virtual Private Cloud
インデックス
KonaSearch アーキテクチャ
Direct
Connector
メッセージング
キューイング
コンテント ストア
データ
インポート
クエリー処理
ストリーミング
サーバー
ディスパッチャー
インデックス処理
GCP Virtual Private Cloud
KonaSearch アーキテクチャ
Direct
Connector
メッセージング
キューイング
コンテント ストア
データ
インポート
インデックス
ストリーミング
サーバー
ディスパッチャー
サーバー
ディスパッチャー
クエリーパーサー
KonaSearch
クエリー
API (Apex)
KonaSearch 検索ページ
インデックス処理
クエリー処理
GCP Virtual Private Cloud
KonaSearch アーキテクチャ
Direct
Connector
メッセージング
キューイング
コンテント ストア
データ
インポート
インデックス
ストリーミング
サーバー
ディスパッチャー
サーバー
ディスパッチャー
クエリーパーサー
KonaSearch
クエリー
API (Apex)
KonaSearch 検索ページ
Salesforce に一切の負荷をかけない
インデックス処理
GCP Virtual Private Cloud
フィルター
ファセット
検索結果
メインサーチ
KonaSearch アーキテクチャ
Direct
Connector
メッセージング
キューイング
コンテント ストア
データ
インポート
Open
Connector
API
インデックス
ストリーミング
サーバー
ディスパッチャー
KonaSearch 検索ページ サーバー
ディスパッチャー
クエリーパーサー
KonaSearch
クエリー
API (Apex)
ポータル
サイト
JSON
Kona QL
他の Org との横断検索
外部データソースの取り込み
GCP Virtual Private Cloud
Salesforce のレコード
添付ファイルからの引用
SharePoint 文書からの引用
Org2 のレコード
SAP のレコード
Salesforce をさらに活用できる
• 対話的な検索絞り込みができる
• 用途にあわせた検索ページを提供
• Org をまたいだ横断的な検索ができる
• 外部ストレージ、データソースと一緒に検索できる
• 既存システムのデータをすべて Salesforce に移行し
なくても、外部ソースとして Salesforce アプリケー
ションから検索できる
Connecting Salesforce to the World
with Deep Search

More Related Content

What's hot

[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui
[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui
[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi FukuiInsight Technology, Inc.
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
 
Apache Solr 入門
Apache Solr 入門Apache Solr 入門
Apache Solr 入門
順平 西本
 
プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例
sohta
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
Takuya Ueda
 
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinarsコア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
fisuda
 
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことエスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことYoshitaka Kawashima
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
Recruit Lifestyle Co., Ltd.
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Ryota Watabe
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Yahoo!デベロッパーネットワーク
 
Dynatrace が特別な7つの理由
Dynatrace が特別な7つの理由Dynatrace が特別な7つの理由
Dynatrace が特別な7つの理由
Harry Hiyoshi
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
Atsushi Nakamura
 
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
Yuta Matsumura
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
 
5.6 以前の InnoDB Flushing
5.6 以前の InnoDB Flushing5.6 以前の InnoDB Flushing
5.6 以前の InnoDB Flushing
Takanori Sejima
 
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
Hirofumi Ota
 
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
Yoshiiro Ueno
 
Code Contracts in .NET 4
Code Contracts in .NET 4Code Contracts in .NET 4
Code Contracts in .NET 4信之 岩永
 
グラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectivesグラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectives
昌桓 李
 

What's hot (20)

[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui
[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui
[C13] フラッシュドライブで挑むOracle超高速化と信頼性の両立 by Masashi Fukui
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
 
Apache Solr 入門
Apache Solr 入門Apache Solr 入門
Apache Solr 入門
 
プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例プログラミング言語Clojureのニャンパスでの活用事例
プログラミング言語Clojureのニャンパスでの活用事例
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
コア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinarsコア・コンテキスト管理 - FIWARE WednesdayWebinars
コア・コンテキスト管理 - FIWARE WednesdayWebinars
 
エスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのことエスイーが要件定義でやるべきたったひとつのこと
エスイーが要件定義でやるべきたったひとつのこと
 
Railsで作るBFFの功罪
Railsで作るBFFの功罪Railsで作るBFFの功罪
Railsで作るBFFの功罪
 
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
Standard Edition 2でも使えるOracle Database 12c Release 2オススメ新機能
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
 
Dynatrace が特別な7つの理由
Dynatrace が特別な7つの理由Dynatrace が特別な7つの理由
Dynatrace が特別な7つの理由
 
継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える継続的にテスト可能な設計を考える
継続的にテスト可能な設計を考える
 
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer「自分のとこでは動くけど…」を無くす devcontainer
「自分のとこでは動くけど…」を無くす devcontainer
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
5.6 以前の InnoDB Flushing
5.6 以前の InnoDB Flushing5.6 以前の InnoDB Flushing
5.6 以前の InnoDB Flushing
 
SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成SharePoint Online Communication Sites お手軽サイト作成
SharePoint Online Communication Sites お手軽サイト作成
 
並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js並列対決 Elixir × Go × C# x Scala , Node.js
並列対決 Elixir × Go × C# x Scala , Node.js
 
Code Contracts in .NET 4
Code Contracts in .NET 4Code Contracts in .NET 4
Code Contracts in .NET 4
 
グラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectivesグラフデータの視覚化ツールーTom Sawyer Perspectives
グラフデータの視覚化ツールーTom Sawyer Perspectives
 

Similar to Solr と自然言語処理によるSalesforce のディープサーチ

AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
Amazon Web Services Japan
 
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
de:code 2017
 
20180922 jazug8 cosmosdb_search
20180922 jazug8 cosmosdb_search20180922 jazug8 cosmosdb_search
20180922 jazug8 cosmosdb_search
Kazuhiro Wada
 
45分で理解する webクローリング入門 斉藤之雄
45分で理解する webクローリング入門 斉藤之雄45分で理解する webクローリング入門 斉藤之雄
45分で理解する webクローリング入門 斉藤之雄
Yukio Saito
 
RESTful Web API Design
RESTful Web API DesignRESTful Web API Design
RESTful Web API Design
Akinari Tsugo
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
Eiji Shinohara
 
SPARQLアプリケーション開発
SPARQLアプリケーション開発SPARQLアプリケーション開発
SPARQLアプリケーション開発
Toshiaki Katayama
 
OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法
Open Source Software Association of Japan
 
GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発
Fumihiko Shiroyama
 
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etcAzure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Yoichi Kawasaki
 
第一回Web技術勉強会 efkスタック編
第一回Web技術勉強会 efkスタック編第一回Web技術勉強会 efkスタック編
第一回Web技術勉強会 efkスタック編
tzm_freedom
 

Similar to Solr と自然言語処理によるSalesforce のディープサーチ (11)

AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
AWS Black Belt Tech Webinar 2016 〜 Amazon CloudSearch & Amazon Elasticsearch ...
 
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
[DI08] その情報うまく取り出せていますか? ~ 意外と簡単、Azure Search で短時間で検索精度と利便性を向上させるための方法
 
20180922 jazug8 cosmosdb_search
20180922 jazug8 cosmosdb_search20180922 jazug8 cosmosdb_search
20180922 jazug8 cosmosdb_search
 
45分で理解する webクローリング入門 斉藤之雄
45分で理解する webクローリング入門 斉藤之雄45分で理解する webクローリング入門 斉藤之雄
45分で理解する webクローリング入門 斉藤之雄
 
RESTful Web API Design
RESTful Web API DesignRESTful Web API Design
RESTful Web API Design
 
Search on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 SpringSearch on AWS - IVS CTO Night and Day 2016 Spring
Search on AWS - IVS CTO Night and Day 2016 Spring
 
SPARQLアプリケーション開発
SPARQLアプリケーション開発SPARQLアプリケーション開発
SPARQLアプリケーション開発
 
OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法OSS ソースコードサーチツールの効能、有効活用方法
OSS ソースコードサーチツールの効能、有効活用方法
 
GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発GDG Tokyo Firebaseを使った Androidアプリ開発
GDG Tokyo Firebaseを使った Androidアプリ開発
 
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etcAzure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
Azure Search 言語処理関連機能 〜 アナライザー、検索クエリー、辞書、& ランキング, etc
 
第一回Web技術勉強会 efkスタック編
第一回Web技術勉強会 efkスタック編第一回Web技術勉強会 efkスタック編
第一回Web技術勉強会 efkスタック編
 

Solr と自然言語処理によるSalesforce のディープサーチ