各機能毎の概要

各機能毎の概要


全文検索


項目
説明
備考
概要
(全文検索の仕組み)
クローラが取得したHTML内の文書を形態素解析、正規化等の処理を施した後、検索データベースへ格納します。
エンドユーザが検索語として入力したキーワードを検索データベースに対して検索処理を行い、
対象となるHTML文書のURL、およびそのページのタイトル、マッチしたキーワードの周辺文書などを一覧として検索結果ページへ表示します。
形態素解析とNGramのハイブリッド検索となります。

文字正規化処理
検索対象となる文書に対して、あらかじめ以下の処理を行い、文字を正規化します。


大文字→小文字
例「ABC」→「abc」

結合文字
例「ふ゛」→「ぶ」

組字展開
例「㍑」→「リットル」

記号展開
例「①」→「1」

半角カタカナ→全角カタカナ
例「カタカナ」→「カタカナ」

旧字対応
例「慶應」→「慶応」

踊り字、躍り字(おどりじ)
例「みすゞ」→ 「みすず」

長音記号対応(ー)
例「スーパーカー」→「スーパーカ」
canonical属性処理
本機能が管理画面にて有効となっている場合、
<link rel="canonical" href="正規ページURL"> のタグのあるページは、正規ページURLのページへ集約されます。

専用メタタグによる
Last-Modified上書き処理
本機能が管理画面にて有効となっている場合、
専用メタタグ:<meta property="mf:lastmodified" content="最終更新日時" /> のあるページは、
HTTPレスポンスヘッダの Last-Modifiedを上書きして最終更新日時として利用します。
この値は、日付順ソートを行う際に利用されます。

ドキュメントから
不要タグの削除
以下のタグ等の内容を検索対象から除外します。
・script
・noscript
・style
・header
・footer
・div tag かつ、idまたはclassに"header"を含む
・div tag かつ、idまたはclassに"footer"を含む

加えて、以下のCookie同意管理ツールのタグも検索対象から除外します。
・OneTrust (div#onetrust-consent-sdk)
Osano (div.osano-cm-window)
Cookiebot (div#CybotCookiebotDialog)
webtru (div#datasign__datasignCmpModule--index-module)
Evidon (div#_evidon_banner)
TrustArc (div#consent_blackbar)

特定タグ除外処理

本機能が管理画面にて有効となっている場合、
特定タグ:<!-- marsfinderoff: index --> から、<!-- marsfinderon: index --> までの間を検索対象から除外します。


meta robots
除外処理
meta robotsの content=に noindex又は noneの指定があるページは、検索DBへ登録をしません。

ドリルダウン
以下URLを参照。
URLパターンは正規表現のみ対応しています。
カテゴリ
以下URLを参照。
URLパターンは正規表現のみ対応しています。
検索キーワード重み付け
以下URLを参照。
同義語対応
以下URLを参照。
検索データベース設定へ紐付けられた複数の同義語設定が処理対象となります。

サジェスト


項目 説明 備考
仕組み

検索語としてキーワードを入力した際に、関連のあるキーワードを予測表示します。
予測表示されるキーワードは全文検索同様に検索データベースへ検索されることで取得します。

弊社独自ロジック

検索データベースへキーワードを検索する際の対象としては、HTMLのtitle/descriptionは現在のところ対象外です。

最初のキーワードのときは、純粋な検索です。(全文検索エンジン提供)

以下記載の文字正規化により抽出された単語から関連性の高い、中間一致する単語を表示します。

2つめ以降のキーワードは、入力されたキーワード群にて全文検索同様(内部的には以降説明の関連キーワード検索を利用)に検索し、 2つめのキーワードと前方一致する単語を表示します。
文字正規化 大文字→小文字 例「ABC」→「abc」

結合文字 例「ふ゛」→「ぶ」

組字展開 例「㍑」→「リットル」

記号展開 例「①」→「1」

半角カタカナ→全角カタカナ 例「カタカナ」→「カタカナ」

旧字対応 例「慶應」→「慶応」

踊り字、躍り字(おどりじ) 例「みすゞ」→ 「みすず」

長音記号対応(ー) 例「スーパーカー」→「スーパーカ」

カタカナ読み対応
例「ダイヒョウ」→「代表」
サジェストのみの正規化

ローマ字読み対応
例「daihyo」→「代表」
サジェストのみの正規化

カタカナ→ローマ字変換
例「ヤマダ タロウ」→「yamada tarou」
サジェストのみの正規化

もしかすると(spellcheck)


項目
説明
備考
仕組み
入力/変換ミスと思われるキーワードを入力したときに訂正候補のキーワードを表示します。


予測表示されるキーワードは全文検索同様に検索データベースへ検索されることで取得します。


「-」が含まれる単語優先して表示します。


関連キーワード(related keywords)


項目
説明
備考
仕組み
全文検索同様に入力されたキーワード群にて検索を実施し、結果の文書内から出現頻度の高い単語を表示します。


予測表示されるキーワードは全文検索同様に検索データベースへ検索されることで取得します。

文字正規化
全文検索結果同様。


おすすめコンテンツ


項目
説明
備考
仕組み
おすすめコンテンツの機能とは、あらかじめ管理画面で設定した語(または、常にヒット・0件時のみヒット)の設定において、 ユーザ入力フレーズが一部(部分一致)もしくは全部(完全一致)一致した場合、または指定した条件(常にヒット・0件時のみヒット)に適合したときに、管理画面で設定したおすすめコンテンツの情報を検索結果画面のおすすめコンテンツの項目に表示する機能です。
おすすめコンテンツの項目に表示する項目として、タイトル、サムネイル(設定がある場合には、指定した画像表示します。設定がない場合にはサムネイル画像を表示)、およびURL(画像、タイトルに対するリンクとして表示)を表示します。
検索結果に、リスティング広告的な機能を付加するもの。
語の検索時の処理
事前処理:設定語、入力フレーズについては、文字の正規化のため、検索で内の処理で、unicode NKFC正規化(ref. https://qiita.com/fury00812/items/b98a7f9428d1395fc230)および小文字化を実施します。



検索処理:事前処理後、設定語、入力フレーズに関しては、設定した語に対する入力フレーズの以下(1)部分一致検索(品番検索を含む)、(2)完全一致検索、(3)常にヒット、(4)0件時のみヒットの機能を提供しています。

(1) 部分一致検索(品番検索を含む)
検索画面設定語/入力フレーズについて、入力フレーズを形態素解析してtokenに分割し、そのうちに、管理画面の部分一致の項目で設定した単語が1つでもヒットしたドキュメント群を抽出します。
例:
管理画面設定語 「国分寺」
入力フレーズ 「聖武天皇は国ごとに僧寺と尼寺を造ることを命じたものが国分寺・国分尼寺といいます」
→tokenize「聖武天皇 は 国ご と に 僧 寺 と 尼寺 を 造る こと を 命じ た もの が *国分寺* 国分尼寺 と いい ます」
→登録語の「国分寺」に対し、入力フレーズの「国分寺」がヒットするため「部分一致」成立

また品番検索は、部分一致の一種ではありますが、品番の特性として、SKUのバリエーションで末尾のみが異なるものがあり、それに対応するために、tokenize後の単語のうち、品番形式に一致する語(正規表現 \w+([-\d]\w+)+ に合致する語)について、
登録語を2文字以上のものをそれぞれ切り出した単語を作成し、それに一致した場合には「部分一致」成立とします。

管理画面設定語 「KT-100-A」
内部的にEdgeNgramにより「KT」「KT-」「KT-1」「KT-10」「KT-100」「KT-100-」「KT-100-A」が生成される
入力フレーズ 「新製品のKT-100のバリエーションを知りたい」
→tokenize(品番抽出)「KT-100」
→EdgeNgramにより生成された「KT-100」と入力フレーズの「KT-100」が一致するため、「部分一致」成立
(2)完全一致検索
事前処理後のユーザ入力フレーズおよび検索画面設定語が完全合致しているドキュメント群を抽出します(この場合、フレーズ中の一部という状態は含みません)
例:
管理画面設定語 「ワード」
入力フレーズ:「ワード」 →ヒットする
入力フレーズ:「ワードサイス」 →ヒットしない
(3)常にヒット
これを設定した場合、入力フレーズの内容にかかわらず、常に設定したおすすめコンテンツを表示するものとします。

(4)0件時のみヒット
これを設定した場合、入力フレーズでの検索結果、0件になった場合のみ設定したおすすめコンテンツを表示するものとします。




CSVファイルフォーマット

  1. ※1:1行目は以下記載の列名を記載します。
  2. ※2:CSVの各設定値は必ずしも「"」で括られている必要はないが、一部の設定値については「"」で括られていることが必要です。
  3. ※3:常時表示(always)、検索結果0件時表示(zero_results)が共に「0」の場合は、部分一致キーワード(partial_keywords)または、完全一致キーワード(exact_keywords)の何れかが設定されている必要があります。 常時表示(always)が「1」の場合、部分一致キーワード(partial_keywords)および完全一致キーワード(exact_keywords)の設定は意味がなくなります。(キーワードに関わらず表示します) 検索結果0件時表示(zero_results)が「1」の場合、検索結果が0件時に部分一致キーワード(partial_keywords)および完全一致キーワード(exact_keywords)に関わらず表示します。 検索結果がある場合、部分一致キーワード(partial_keywords)もしくは完全一致キーワード(exact_keywords)にマッチした場合表示します。
  4. ※4:常時表示(always)、検索結果0件時表示(zero_results)は同時に指定できません。どちらか片方のみを指定ください。
  1. サンプルを公開しておりますので、下記の「featured_contents-sample.csv」をご覧ください。
列番号
CSV上の列名
名称
必須
説明
設定例
1
url
URL
おすすめコンテンツとして表示されたコンテンツに対してクリックされた時に表示するURLを設定します。
重複したURLは設定不可です。
URLは正規化され、正規化後のURLが重複するかチェックされます。
以下A1,A2 は同じURLとして判定される。
2
seq
行番号
編集は可能であるが、アップロード後に自動的に再度採番されます。
123
"1126"
3
title
タイトル
おすすめコンテンツとして検索結果に表示されるタイトルを設定します。
タイトルその0
"タイトルその1"
4
partial_keywords
部分一致キーワード
※3
入力フレーズへの部分一致に利用されるキーワード群を設定します。カンマにて複数記載可能。半角/全角スペースを含めて1キーワードとして扱う。キーワードは内部的には複数に分割され保存されます。部分一致の仕様については前述の説明を参照。
"海辺,海岸"
"AAA BBBB,KT-100-A"
5
exact_keywords
完全一致キーワード
※3
入力フレーズへの完全一致に利用されるキーワード群を設定します。カンマにて複数記載可能。半角/全角スペースを含めて1キーワードとして扱う。キーワードは内部的には複数に分割され保存されます。部分一致の仕様については前述の説明を参照。
"海辺,海岸"
"AAA BBBB,KT-100-A"
6
always
常時表示

※4
入力フレーズが部分一致、完全一致キーワードにマッチするかに依らず、常におすすめコンテンツが表示するかを設定します。
0:設定しない
1:設定する
0
1
"0"
"1"
7
zero_results
検索結果0件時表示

※4
入力フレーズが部分一致、完全一致キーワードにマッチするかに依らず、検索結果が0件時におすすめコンテンツが表示されます。
0:設定しない
1:設定する
0
1
"0"
"1"
8
thumbnail_url
サムネイル画像

検索結果におすすめコンテンツとして表示する際に利用される画像URL。指定しなければ同設定行のurl のサムネイルが結果に表示されます。
9
display_start_datetime
検索結果表示開始期間

本設定の有効開始期間
フォーマット(△は半角スペース)
yyyy-mm-dd△hh:mm
2022-01-05 01:04
10
display_end_datetime
検索結果表示終了期間

本設定の有効終了期間
フォーマット(△は半角スペース)
yyyy-mm-dd△hh:mm
2022-01-05 01:04

同義語

CSVファイルフォーマット

  1. ※1:1行目は以下記載の列名を記載します。
  2. ※2:CSVの各設定値は必ずしも「"」で括られている必要ないですが、一部の設定値については「"」で括られていることが必要です。括られていない場合、nullと判定されます。
  3. ※3:インポート可能文字コード:UTF-8, SHIFT-JIS, ASCII となります。
  4. ※4サンプルを公開しておりますので、下記の「synonyms.csv」をご覧ください。
列番号CSV上の列名名称必須説明設定例
1seq行番号編集は可能であるが、アップロード後に自動的に再度採番されます。"12"
2word_01同義語1同義語1"mars"
3word_02同義語2同義語2"まあず"
4word_03同義語3同義語3、登録しない場合はnull値を設定"marsflag"
5word_04同義語4同義語4、登録しない場合はnull値を設定"MARSFLAG"

検索キーワード重み付け

CSVファイルフォーマット

  1. ※1:1行目は以下記載の列名を記載します。
  2. ※2:CSVの各設定値は必ずしも「"」で括られている必要はないですが、一部の設定値については「"」で括られていることが必要です。括られていない場合、nullと判定されます。
  3. ※3:同一検索キーワードに関する設定は、連続行で記載してください。
  4. ※4:インポート可能文字コード:UTF-8, SHIFT-JIS, ASCII となります。
  5. ※5:サンプルを公開しておりますので、下記の「elevations.csv」をご覧ください。
列番号CSV上の列名名称必須説明設定例
1seq行番号編集は可能であるが、アップロード後に自動的に再度採番されます。"12"
2word検索キーワード重み付けのトリガーとなるキーワード"mars"
3urlURL重み付け対象URL"https://www.marsflag.com/ja/"

ドリルダウン

CSVファイルフォーマット

  1. ※1:1行目は以下記載の列名を記載します。
  2. ※2:CSVの各設定値は必ずしも「"」で括られている必要はないですが、一部の設定値については「"」で括られていることが必要です。括られていない場合、nullと判定されます。
  3. ※3:同一ラベルに関する設定は、連続行で記載してください。
  4. ※4:インポート可能文字コード:UTF-8, SHIFT-JIS, ASCII となります。
  5. ※5:サンプルを公開しておりますので、下記の「drilldown.csv」をご覧ください。
列番号CSV上の列名名称必須説明設定例
1seq行番号編集は可能であるが、アップロード後に自動的に再度採番されます。"12"
2drilldown_facet_01第一階層ラベル第一階層に表示されるラベル名"製品・サービス"
3drilldown_facet_02第二階層ラベル第二階層に表示されるラベル名"導入事例"
4drilldown_facet_03第三階層ラベル第三階層に表示されるラベル名
5url_patternURLパターン
(正規表現)
ドリルダウン対象を指定する正規表現"^https://www.marsflag.com/.*"
6is_otherその他ラベル指定フラグその他ラベルを指定する行を示すフラグ
フラグが立った場合、第一階層ラベルの文言がその他ラベルとして仕様される
1フラグは一行のみ存在できる
1 or 0

カテゴリ

CSVファイルフォーマット

  1. ※1:1行目は以下記載の列名を記載します。
  2. ※2:CSVの各設定値は必ずしも「"」で括られている必要はないですが、一部の設定値については「"」で括られていることが必要です。括られていない場合、nullと判定されます。
  3. ※3:同一カテゴリに関する設定は、連続行で記載してください。
  4. ※4:インポート可能文字コード:UTF-8, SHIFT-JIS, ASCII となります。
  5. ※5:サンプルを公開しておりますので、下記の「category.csv」をご覧ください。

列番号CSV上の列名名称必須説明設定例
1seq行番号編集は可能であるが、アップロード後に自動的に再度採番されます。"12"
2categoryカテゴリ名カテゴリ名"mars"
3url_patternURLパターン
(正規表現)
カテゴリ対象を指定する正規表現^https://www.marsflag.com/.*





    • Related Articles

    • 検索

      クロールで取得した文書を適切に処理することでデータベースを作成し、それに対しエンドユーザーが検索窓から検索をすることが可能です。 検索の仕組みについては、各機能毎の概要を参照してください。 検索データ作成までの流れについては、全体処理の流れを参照してください。
    • 検索対象外となるタグを教えてください

      Q.検索対象外となるタグを教えてください。 A.以下のタグ等の内容を検索対象から除外します。 ・script ・noscript ・style ・header ・footer ・div tag かつ、idまたはclassに"header"を含む ・div tag かつ、idまたはclassに"footer"を含む 上記以外のタグは、検索対象となります。 当該タグは、お客様毎にご変更いただくことはできません。ご了承ください。 参考: 各機能毎の概要
    • もしかすると機能で表示されるキーワードはどのようなロジックですか

      Q.もしかすると機能で表示されるキーワードはどのようなロジックですか。 A.検索キーワードおよび、検索データベース内の単語から近似単語を提案しています。「もしかして~」の文言が表示される・されないや、検索キーワードとの類似度に関する基準については、非公開とさせていただいております。 参考: 機能説明->もしかすると 各機能毎の概要->もしかすると(spellcheck)
    • もしかすると機能を非表示にすることはできますか

      Q.もしかすると機能を非表示にすることはできますか。 A.もしかすると機能は、検索ワードに間違いが含まれている可能性が高いとき対応する機能であり、非表示とすることはできません。 ご了承ください。 参考: 機能説明->もしかすると 各機能毎の概要->もしかすると(spellcheck)
    • もしかすると

      検索ワードに間違いが含まれている可能性が高いとき、検索結果ページに「もしかして 〇〇〇?」と 正しいと思われるキーワードを表示する、サイト内検索のオプション機能です。 自動で訂正するため、検索キーワードを再入力する手間がなくなります。 お客様側で導入時の設定や運用でのメンテナンス作業をすることなくご利用いただけます。 ※本機能は常にONの状態です。OFFにすることはできません。 もしかするとの仕組みについては、各機能毎の概要を参照してください。