全般 FlexSearch
  FlexSearch って何?
  FlexSearch の使い方は?
  FlexSearch を実際に使ってみたい
  1台のサーバで使用可能か?
  メールソフトは対応しているか?
  インストール
  インストール方法が分からない(Windows 版)
  インストール方法が分からない(UNIX/Linux 版)
  ユーザマニュアルがない(Windows 版)
  ユーザマニュアルがない(UNIX/Linux 版)
  検索CGI が見つからない
  導入/保守
  検索サーバの冗長化について
  FlexSearch をパッケージに組み込みたい

検索機能 全般/ログ
  検索サーバのログ
  検索ログの表示
  検索キーワードの一覧表示
  ログにインデックスの更新時刻は出力されるか?
  全般/機能
  クライアント/サーバ間の通信は?
  プロトコルは?
  サービス監視
  検索エラー
  検索サーバが起動できない
  検索エラーが出る(エラーコード6)
  ライセンスエラーが出る
  検索エラーが出る
  特定のエラーに対するエラー画面の指定
  結果表示
  期待しない検索結果が返る
  検索結果が0件になる場合がある
  検索結果のキャッシュは?
  検索結果の絞り込みは?
  全件検索ができない
  検索結果の範囲指定
  FSEARCHタグは大文字?小文字?
  期待しない検索結果が返る
  属性名は変更できるか?
  同じ内容の検索結果が表示される
  memoで設定した内容がずれてしまう
  検索条件
  不要なパラメータは使用可能か?
  カテゴリ別に検索したい
  検索を実行すると、「404 Not Found」になる
  複数の検索対象からそれぞれ別のキーワードで検索したい
  複数キーワードの検索はキーワードが1つのときより時間(負荷)がかかるか?
  SearchLimit のデフォルト値
  検索文字列数の最大は?
  あいまい検索と完全一致検索の混合した検索をしたい
  全般/設定(検索サーバ)
  サーバ停止中に検索をしたら?
  設定内容が反映されない
  全般/設定(クライアント)
  複数の検索クライアントを使用
  fsclient.ini でUNCパス指定は可能か?
  クライアントを増やしたいのですが
  クライアントの追加方法
  ソートキーの設定数は?
  ソートキーの設定方法は?
  memo属性に空データを設定できるか?
  fsclient.ini の設置場所は?
  COMライブラリ
  COMライブラリが使えない
  オプション(サーバスレッド)
  サーバスレッドオプションって何?
  サーバスレッドオプションの最大スレッド数は?
  サーバスレッドオプションが使えない(Windows 版)
  サーバスレッドオプションが使えない(UNIX/Linux 版)
  オプション(マルチインデックス)
  マルチインデックスオプションって何?
  複数カテゴリによる検索を行う場合の設定は?
  マルチインデックスによるAND/OR検索
  マルチインデックスによる負荷は?
  オプション(DBリンク)
  DBリンクオプションて何?
  オプション(文書フィルター)
  文書フィルターオプションて何?
  アクセス権チェックオプション
  アクセス権チェックオプションって何?
  拡張辞書
  拡張辞書は販売されていないか?
  辞書の取り消し

インデクサー 設定
  カテゴリ番号の最大数
  maxtext の最大値は?
  インデックス
  インデックスファイル名の数字は何?
  インデックス更新処理の仕組みは?
  インデックスのバックアップ
  インデックスサイズは?
  CSVインデックス
  インデックスが作成できない
  コンテンツ内のタグは?
  未使用のカラムはインデックスサイズに影響するか?
  ODBCインデックス
  主キーが複数ある場合のインデックス作成
  ODBCインデックス作成時にログにエラーが出力される
  SQL文はどこに記述するか?
  複数のテーブルからのインデックス作成

FlexSearch って何?
Q
FlexSearch for Web とは何でしょう?
A
アドイン研究所が開発した全文検索システムです。
インターネット・インラインネットで流通するさまざまなテキストコンテンツ (Webページ、データベースコンテンツ、社内共有文章など) の中から、指定文字列にぴったり 一致しなくても、似た表現の文字列を 高速に検索することができます。
FlexSearch の使い方は?
Q
FlexSearch for Web はどのような使い方があるのでしょうか?
また、実際に使用しているサイトはありますか?
A
下記サイトの“事例および応用例”から実際にご使用されているシステムをご覧になれます。
http://www.adin.co.jp/fs/

また、下記ページにて検索デモを行えます。
お試しください。
http://search.adin.co.jp/flexsearch/search.html

FlexSearch を実際に使ってみたい
Q
FlexSearch for Web を自社サイトで使ってみたいのですがどうすればよいですか?
A
FlexSearch for Web をインストールするためにはインストールCDが必要です。
お持ちでない場合は、代理店または下記メールアドレスにお問い合わせください。

Mailto:flexsearch@adin.co.jp

1台のサーバで使用可能か?
Q
現在WEBサーバが1台あるのですが、FlexSearch を導入する場合、同一サーバ内で稼動は可能でしょうか?それともFlexSearch 用のサーバが別途必要になりますか?
A
WEBサーバとFlexSearch サーバを同一サーバで稼動することは可能です。
ただ、コンテンツ量が多い場合、検索の頻度(アクセス)が高い場合、頻繁にインデックスの更新を行う場合、マシンスペックが低い場合などは検索速度の低下が起こる場合がありますので、FlexSearch 用のサーバを別途立てることお勧めしております。
メールソフトは対応しているか?
Q
電子メールも検索対象となるのでしょうか?
A
電子メールのクライアントソフトには対応していません。
ただし、各メール本文が一つずつのファイルとして保存されているメーラーの場合(UNIXのMHなど)は、それぞれを検索することは可能です。
また、添付文書も同様にファイルとして保存されている場合(Eudoraなど)は検索可能です。
インストール方法が分からない(Windows 版)
Q
FlexSearch for Web をインストールしたいのですが、インストール方法が分かりません。(Windows 版)
A
インストールCDに同梱されているreadmeファイル、およびセットアップガイドをご参考にしてインストールをすすめてください。

※ インストールCDを挿入するとインストーラーが自動起動します。readmeファイル、およびセットアップガイドをご覧になる場合は、ウィッザードのキャンセルボタンを押し、インストールを中止してください。

インストール方法が分からない(UNIX/Linux 版)
Q
FlexSearch for Web をインストールしたいのですが、インストール方法が分かりません。(UNIX/Linux 版)
A
インストールCDに同梱されているReadmeファイルをご参考にしてインストールをすすめてください。
ユーザマニュアルがない(Windows 版)
Q
ユーザマニュアルを読みたいのですが、どこを見ればよいのでしょうか?(Windows 版)
A
FlexSearch for Web をインストールしている場合、インストールディレクトリ(インストール時に設定)に各ユーザマニュアルがインストールされます。ご確認ください。
また、セットアップガイドにつきましては、インストールCDにも同梱してあります。
ユーザマニュアルがない(UNIX/Linux 版)
Q
ユーザマニュアルを読みたいのですが、どこを見ればよいのでしょうか?(UNIX/Linux 版)
A
インストールCDに同梱されているdocumentディレクトリに各ユーザマニュアルがあります。
各機能の説明等が記述してありますので、ご確認ください。
検索CGI が見つからない
Q
IISを使用しているのですが、“Inetpub\Scripts”のディレクトリ下に検索CGIクライアントの関連ファイルがないのですが・・・
A
IISのバージョンによっては、“Inetpub\Scripts”ディレクトリが存在していても、仮想ディレクトリとして、“Scripts”を設定していないと認識されません。また、IIS6の場合、仮想ディレクトリを認識できない場合があります。
その場合は、“Inetpub\wwwroot\fsw\cgi-bin”ディレクトリ下のファイルを、検索CGI用の仮想ディレクトリに移動してください。
検索サーバの冗長化について
Q
検索サーバの冗長化を考えているのですが、どのようなメリットがありますか?また、サーバライセンス費用はどうなるのでしょうか?
(例えば2台構成にした場合など)
A
冗長化を行うことにより、片方のサーバが故障や停止した場合でも、もう一方でサービスを継続して行うことができます。
また、負荷を分散を行うために、2台に分散して検索を行う場合や、インデックス作成および、バックアップ機としてご利用する場合などがあります。
ライセンス費用は、FlexSearch を使用するサーバが複数台あれば、サーバライセンス費用もそのサーバ台数分必要となります。
全サーバで同じ構成である場合、
(FlexSearch 本体価格 + オプション) × サーバ台数
のライセンス費用が必要となります。
FlexSearch をパッケージに組み込みたい
Q
従来は主にサイトの検索エンジンとしてとして使用されているようですが、FlexSearch をパッケージソフトウェアに組みこんで使用する場合、ライセンス費用はどのようになりますでしょうか?
A
パッケージソフトウェアの価格体系、売り方、どのくらい売れるのか等、それぞれ条件が異なりますので、個別にご相談させて頂いております。
お気軽にお問い合わせください。
検索サーバのログ
Q
検索サーバでエラーが起こりましたが、ログファイルはありますか?
A
検索サーバのログファイルは、次のファイルに出力されます。
(Windows版)システムディレクトリに“FSServer[サーバ識別子].log”
(Linux/Unix版)fsserver.iniに記述されたログディレクトリに"fsserver[プロセスID].log"
検索ログの表示
Q
検索のログ(検索キーワード等)を残したいのですが、現状ログファイルは出力されていません。検索ログの出力は可能でしょうか?(Windows 版)
A
fsearch.ini ファイルでログの設定を行うことにより、検索ログの出力が可能となっております。
以下の項目の設定を行ってください。
“LogDir: (出力するディレクトリ名)”
“LogLevel: 1〜4”(詳細に表示する場合は4を設定)
検索キーワードの一覧表示
Q
入力された検索キーワードのログを一覧表示する機能はありますか?
A
検索ログファイルを出力すること(デフォルト状態では出力なしに設定)により、ログファイルの中に検索キーワードを確認することができます。
入力された検索キーワードのみを一覧で取得する機能は、ご提供しておりません。
ログにインデックスの更新時刻は出力されるか?
Q
差分更新を行うときに、前回のインデックス更新時刻を参照したいのですが、ログ等から参照することは可能でしょうか?
A
インデックス作成時のログに時刻が記録されています。
クライアント/サーバ間の通信は?
Q
クライアントとサーバ間での通信形態はどうのようになっているのでしょうか?
A
FlexSearchのクライアント/サーバ間の通信では、TCP/IPを使用しています。
プロトコルは?
Q
WebサーバとDBサーバは、F/W越しの接続になるため、F/Wに許可すべきポート番号や、上位プロトコル(http等)を使用していれば、それらも合わせて具体的にお教えください。
A
TCP/IP ポート 30051(デフォルト設定) を使用しています。
ポート番号は検索サーバ管理ツール(Linux/Unix版はfsserver.iniファイル)にて変更可能となっております。
サービス監視
Q
FlexSearchサーバに、サービス監視コマンド等はありますか?
A
FlexSearchにはサービス監視コマンド等は用意しておりません。
また、FlexSearchのサーバ/クライアント間の通信は独自プロトコルにより行われており、公開しておりません。
検索サーバが起動できない
Q
検索サーバを起動しようとしても起動できません。検索サーバのログファイルも出力されていないようですが、原因は何でしょうか?
A
FlexSearch for Web のバージョンアップはしませんでしたか?バージョンアップをした場合、全てのファイルを同じバージョンに揃える必要があります。特にアップデートファイルの入れ替えを手動で行った場合、システムディレクトリ下のFsearch.dll の入れ替えを忘れている場合がございますのでご確認ください(Windows版)。
また、アップデート後は、インデックスファイルを再作成する必要があります。お手数ですが、インデックスファイルの再作成をしてください。
検索エラーが出る
(エラーコード6)
Q
検索をすると、エラーコード6が返ってきて、検索に失敗します。
A
検索サーバが起動されていない状態です。
検索サーバが起動しているか確認してください。
また、fsclient.ini ファイルのサーバ指定が正しく記述されているか確認してください
ライセンスエラーが出る
Q
エラーメッセージに、「Detail Code = 27」が表示されます。原因は何でしょうか?
A
ライセンスエラーです。
以下の点をご確認ください。

・入力したライセンスキーが正しいかご確認ください。
・一時ライセンスをご使用の場合、期限が切れていないかをご確認ください。
・申請したMACアドレスが間違っていないかご確認ください。
(NotePCなどでネットワークアダプタが2つある場合、最初のMACアドレスが認識されます)
・対応していないオプションをご使用になっていませんか?(データベースリンクオプションをご購入いただいていない場合、データベースやCSVファイルからインデックスを作成することができませんのでご注意ください)
・インデクサーの実行ディレクトリにfsearch.ini ファイルが存在しているかをご確認ください。

検索エラーが出る
Q
アップデート版のインストールCDから、モジュールをアップデート版に入れ替えました。入れ替え後に検索をしたのですが、検索エラーが出ます。原因は何でしょうか?
A
検索サーバとバージョンが違うインデクサーを用いて作成したインデックスファイルを使うと正しく検索できません。インデックスファイルをもう一度作成してください。
特定のエラーに対するエラー画面の指定
Q
特定のエラーが起こった場合にエラーの表示画面の切り替えは可能でしょうか?
A
検索CGIクライアントでは、ご用意しているテンプレートファイルを元に検索結果及び検索エラー画面を表示しています。検索エラー画面においては、エラー時に返される値を元にエラー画面を選択することができます。テンプレートファイルを複数用意することにより、検索エラー発生時に、エラーの種類によってエラー表示画面を変えることができます。
期待しない検索結果が返る
Q
検索サーバとインデックスサーバを切り分けて二台構成にしています。インデックスサーバで作成したインデックスファイルを検索サーバへコピーして、そのまま検索をしたのですが、予想していた検索結果とは異なる結果が返ってきました。原因は何でしょうか?
A
サーバ上のメモリの管理情報と実存する(再作成された)インデックス情報が異なるために、正しい検索結果が返らないことがあります。
通常のインデックス作成処理を行った場合は、検索サーバの再読み込みを行うのですが、ファイルのコピー等でインデックス情報を書き換えた場合には、検索サーバの再起動をしてください。
検索結果が0件になる場合がある
Q
ひらがなや漢字で検索すると、検索結果が0件になってしまいます。数字やアルファベットの場合は正常に検索できるのですが、原因は何でしょうか?
A
fsclient.ini で設定してある文字コードとクライアントのテンプレートファイルの文字コードが一致していない場合は、正常に検索されないことや、検索結果が文字化けすることがあります。ご使用の文字コードに合わせてfsclient.ini の設定をしてください。
検索結果のキャッシュは?
Q
検索結果のキャッシュを行っていますか?
A
行っておりません。
検索結果の絞り込みは?
Q
検索結果に対して、さらに結果の絞り込みはできるのでしょうか?
A
FlexSearchでは、ある検索結果の範囲を対象に、そこから再度絞り込み検索を行うことはできません。
検索結果の絞り込みを行いたい場合は、前回の検索条件に、絞り込みをしたい条件を加えて、もう一度検索を行うこととなります。
全件検索ができない
Q
キーワードなしで検索をかけたのですが、検索結果なしになってしまいました。全件検索機能は使えないのでしょうか?
A
fsearch.ini ファイルに全件検索を行うための設定 “RetrieveAll: TRUE” を設定してください。(初期設定では、全件検索なしになっています)
また、fsearch.ini ファイルの設定内容は、検索サーバの再起動を行った後に反映されますので、設定内容変更後は必ず検索サーバの再起動を行ってください。
検索結果の範囲指定
Q
検索結果を表示する際に、範囲を指定することは可能でしょうか?
A
検索結果を範囲指定(取得開始位置や取得件数を指定)をして表示を行うことも可能です。
FSEARCHタグは大文字?小文字?
Q
FSEARCHタグやその属性の表記には、大文字小文字の区別はありますか?
A
FlexSearch 独自タグ(<FSEARCH>)は大文字、小文字どちらでも対応していますが、タグ内の属性(“memo”、“param”など)は、必ず小文字で記述してください。
期待しない検索結果が返る
Q
検索結果が表示されるのですが、意図したものと違う結果(最新のコンテンツ情報が反映されていない)が返ってきます。何か設定がおかしいのでしょうか?
A
古い情報のインデックスファイルが残存していないでしょうか?インデックスの作成に失敗している場合など、最新のものに更新されていない可能もあります。インデックスファイルのタイムスタンプ等でご確認ください。
また、通常インデックスを作成する際は、既存インデックスに追加・更新します。インデックスの再作成を行う場合は、オプション “-w 1” を指定してください。
属性名は変更できるか?
Q
パラメータで渡す際の、“title”、“memo”、“url” 等の属性名は変更できますか?
A
変更はできません。
そのままの名前でご使用ください。
同じ内容の検索結果が表示される
Q
追加(Append)モードでインデックスを作成したのですが、検索をすると、複数の同じレコードがヒットしてしまいます。原因は何でしょうか?
A
設定ファイル(〜index.iniファイル) の “key” にユニークキーが設定されているかどうかをご確認ください。
追加モードでインデックスを作成をすると、“key” で設定された項目をユニークキーとして、「追加」か「更新」かの区別を行っております。
memoで設定した内容がずれてしまう
Q
iniファイルで指定したmemo属性の表示がずれてしまうのですが、なぜでしょうか?
A
memo は並び順通りに記述してください
例) 正) memo=1,2,5,6,8
誤) memo=2,6,1,5,8

また、memo属性内の“param”属性の開始値は「0」ですのでご注意ください。

不要なパラメータは使用可能か?
Q
検索CGIクライアントを使用しているのですが、パラメータとして、FlexSearch で使用していない“param=xxx” を渡しています。
これが原因で不具合等は起こらないでしょうか?
A
FlexSearch で使用していないパラメータは参照していませんので、特に問題はありません。
カテゴリ別に検索したい
Q
検索対象のデータをディレクトリ単位で指定することは可能でしょうか?

(例えば、
FLEXデータ :contents/data/flex
SEARCHデータ:contents/data/search
の二つのディレクトリがあるとして、検索時にFLEXデータから検索したい場合、SEARCHデータから検索したい場合、FLEXとSEARCH のデータ両方から検索したい場合)

A
ご質問のケースの場合、
category1:FLEX用のカテゴリ
category2:SEARCH用のカテゴリ
category3:FLEXとSEARCH用のカテゴリ
といったように、カテゴリ番号を変えてそれぞれインデックスを作成してください。
検索するときは、それぞれのカテゴリに対して検索を行ってください。
※ 上記設定にはマルチインデックスオプションが必要となります
検索を実行すると、「404 Not Found」になる
Q
検索を実行すると、「404 Not Found」のエラーが出ます。なぜでしょうか?
A
IIS 6.0をご使用の場合、インターネット インフォメーション サービス マネージャーから以下の設定を行ってください。

・COMライブラリ(aspファイル)をご使用の場合
(マシン名) → WEB サイト拡張 から、Active Server Pages の項目を選択し、状態を「許可」に変更してください。

・検索CGI(FSClient.exe)をご使用の場合
(マシン名) → WEB サイト拡張 から、新しい Web サービス拡張を追加をクリックします。

拡張名 : FlexSearch
必要なファイル:(インストールされた)FSClient.exe
を追加し、状態を「許可」に変更してください。

複数の検索対象からそれぞれ別のキーワードで検索したい
Q
CSVインデクサーを用いて、複数カラムを検索対象としています。1回の検索で、それぞれのカラムに対して、別のキーワードで検索をしたいのですが、どのようにすればいいでのでしょうか?
A
3列目から“abc”を、5列目から“あいう”を、7列目から“123”を検索したい場合の設定例を示します。

カテゴリ1 : 対象カラム=3 (category=1、text=3)
カテゴリ2 : 対象カラム=5 (category=2、text=5)
カテゴリ3 : 対象カラム=7 (category=3、text=7)

上記のように、それぞれインデックスを作成(3回)します。そのとき、category、text 以外の属性は同じカラムを設定してください。
そして、検索キーワード入力フォームを
keyword1:<input type=hidden name=category1 value=1>
keyword2:<input type=hidden name=category2 value=2>
keyword3:<input type=hidden name=category3 value=3>
<input type=hidden name=setandor value=0>
としておきます。

keyword1の入力欄に “abc”
keyword2の入力欄に “あいう”
keyword3の入力欄に “123”

と入力して、fsclient.exe で検索してください。
検索結果は、

(カテゴリ1[3列目]の中で、“abc”をHitさせたレコード) AND
(カテゴリ2[5列目]の中で、“あいう”をHitさせたレコード) AND
(カテゴリ3[7列目]の中で、“123”をHitさせたレコード))」

となります。

複数キーワードの検索はキーワードが1つのときより時間(負荷)がかかるか?
Q
検索キーワードが1つの場合と比べて、検索キーワードが3つの場合は、負荷が高くなりますか?
また検索結果が返されるまでの時間は増えるのでしょうか?
A
キーワードが3つある場合、内部で3回検索処理(順次処理)を行うことになります。
負荷としては1つの場合と同じですが、処理時間が3回分必要になります。
SearchLimit のデフォルト値
Q
検索上限のデフォルト値はいくつですか?
A
初期設定では、10000となっています。
検索文字列数の最大は?
Q
検索文字列数の最大はいくつでしょうか?
A
1つの検索文字列に対して255バイトとなっております。
あいまい検索と完全一致検索の混合した検索をしたい
Q
あるキーワードで検索した場合に、通常はあいまい検索を行い、特定の条件に関しては完全に一致するものだけを抽出したいのですが、そのような検索は可能でしょうか?
(例えば、商品名やコメントはあいまい検索を行い、商品価格は完全に一致するもののみ抽出)
A
FlexSearchでは、
(1) 検索キーワードによるあいまい検索
(2) 属性情報による絞り込み検索
上記の検索が行えます。
通常のキーワード検索(あいまい検索)に、絞り込み条件を加えた検索結果の表示が可能となっております。

ご質問のケースの場合、
(検索対象テキスト) : 商品名、コメント
(属性情報) : 商品価格
をインデックスに設定することにより可能です。

サーバ停止中に検索をしたら?
Q
検索サーバが利用できない(停止中)状態のときに、検索CGIを呼び出すとどうなりますか?
検索エラーが起こる場合は、どのような画面が表示されますか?
A
エラーコード6が返り、検索に失敗します。
検索エラーが起こると、サンプルのエラー画面にエラーメッセージとエラーコードが表示されます。
また、Fsclient.ini ファイルの設定により、専用のエラー画面を表示することも可能です。
設定内容が反映されない
Q
fsearch.ini ファイルの内容を書き換えたのですが、変更されていないようです。なぜでしょうか?
A
fsearch.ini ファイルの設定内容は、検索サーバの再起動を行った後に反映されますので、設定内容変更後は必ず検索サーバの再起動を行ってください。
複数の検索クライアントを使用
Q
1台のFlexSearch 検索サーバに対して、複数のFlexSearch 検索クライアントからアクセスする構成の場合、設定や構成上で特に考慮すべき点はありますか?
A
アクセス頻度にもよりますが、サーバスレッドオプションのご使用をお勧めします。
サーバスレッドオプションを使用する場合、FlexSearch 検索サーバプログラムは標準ではシングルスレッド用となっておりますので、マルチスレッド用へ変更する必要がありますのでご注意ください。
fsclient.ini でUNCパス指定は可能か?
Q
fsclient.ini の各フォームのファイル指定について通常であれば
“HtmlForm=fsw\result.thtm”
のように、fsclient.ini ファイルからの相対パスで指定していますが、
“HtmlForm=\\server\fsw\result.thtm”
などのように、UNCパスで指定することに問題はないでしょうか?
また、これにより検索結果表示が遅くなるなど、不都合な点はありませんでしょうか?
A
ネットワークパスになりますので、ネットワーク障害等の影響を受けます。
その他は、特に問題ありません。
クライアントを増やしたいのですが・・・
Q
現在検索サーバとクライアントを別サーバで管理しています。今後、検索クライアントを増やしたいのですが、費用はどれくらいかかりますか?
A
FlexSearch for Webはクライアントフリーとなっております。1サーバにつき、1ライセンスとなっているので、クライアントは複数使用しても構いません
クライアントの追加方法
Q
検索クライアントを複数にする場合に、それぞれのマシンにFlexSearch をインストールする必要はありますか?また、クライアント側のWEBサーバ等の再起動は必要でしょうか?
A
各クライアントの必要なファイルをコピーするだけで完了です。その場合、設定ファイル等(fsclient.ini)を環境に合わせて設定してください。
必要なファイルについては、検索クライアントユーザマニュアルを参照してください。
また、WEBサーバの再起動は必要ありません。
ソートキーの設定数は?
Q
検索結果を表示する際に、ソートキーを指定しているのですが、ソートキーを複数設定することは可能でしょうか?また、いくつまで設定できますか?
A
ソートキーは最大3つまで設定可能となっております。
ソートキーの設定方法は?
Q
ソート条件は最大3つまで設定できるようですが、複数のソート条件にしたい場合はどのような設定をすれば良いでしょうか?また、降順にソートはできるのでしょうか?
例えは、3カラム目を日付データとして、合致度が同じ場合、日付降順で表示させたい場合はどのような設定になりますか?
A
検索結果の表示で第1ソートキーに合致度、第2ソートキーに日付の最新順(降順)を指定したい場合は以下のように設定してください。

インデックス作成時に以下の設定をします。
  > skey[1]=3
検索条件に以下のパラメータを設定します。
  > so=-2,-21

skey[1]=3を設定した場合、「ソートキー1(文字列)」に3カラム目(日付データ)のデータを設定したことになります。

またソート条件を設定する場合は、入力パラメータの「so」に値を設定します。
複数のソートキーを設定する場合は、カンマ区切りで優先度の高い順に設定します。
また、“-”をつけることにより、検索結果を降順にソートできます。
memo属性に空データを設定できるか?
Q
CSVファイルのカラム数が減った為に、memo属性に対応するカラムがなくなりました。検索結果表示用のテンプレートでは、
<FSEARCH type="memo" param="4">と記述しているため、使わなくなったカラム部分を空白にして、
> memo=1,2,5,6,8(→5、6カラムを削除)

> memo=1,2, , ,6(=元の8カラム目)
のように変更したのですが、memo属性の検索結果が正常に表示されなくなりました。上記の変更は問題があるのでしょうか?
A
memo属性では、空データはスキップされます。
> memo=1,2, , ,6 ・・・(1)
> memo=1,2,6 ・・・・・(2)

(1)は(2)と同じになります。
検索結果で6カラム目を表示する場合は、検索結果表示用のテンプレートのmemo属性内の“param”を、param="4"からparam="2"へと変更する必要があります。

fsclient.ini の設置場所は?
Q
検索クライアント関連ファイルを特定のフォルダの配下(“\\server\scripts\fsw\”)にまとめて設置したいと考えているのですが、fsclient.ini を読み取れていないようです。
fsclient.ini は必ず“\\server\scripts\”直下に配置しておかなければならないのでしょうか?
A
FSClient.exe は、カレントディレクトリからfsclient.ini ファイルを読み込む仕様になっています。
fsclient.exe のカレントディレクトリが、指定したパス“\\server\scripts\fsw\”であれば問題はないのですが、IISのバージョンによっては、CGIルート(Scripts)ディレクトリ(\\server\scripts\)になってしまうという現象が確認されています。
その場合は、“\\server\scripts\”に fsclient.ini を設置する必要があります。
COMライブラリが使えない
Q
search.aspを使用して検索を行うとエラーが起こります。対処方法を教えてください。
A
インストールCDに同梱されている「FPF02-001.cmd」ファイルを実行してください。
サーバスレッドオプションって何?
Q
サーバスレッドオプションとはどのような機能ですか?
A
サーバスレッドオプションは、サーバプロセスのマルチスレッド化を実現するものです。
クライアントからの検索要求毎に、サーバ側にて処理スレッドを起動し、並列処理(スレッド処理)を行うものです。
クライアント毎の要求はそれぞれのスレッドが担当します。
このオプションを利用しない(通常のサーバ処理)場合では、サーバは単一のスレッドにて実行されるため、全てのクライアントからの検索要求は順次実行されます。
サーバスレッドオプションの最大スレッド数は?
Q
サーバスレッドオプションを使用して、マルチスレッド処理を行う場合に、スレッドの最大数の制限はあるのでしょうか?
A
サーバスレッドオプションのスレッド数に制限はございません。
サーバスレッドオプションが使えない
Q
サーバスレッドオプションを購入したのですが、マルチスレッド処理が行われていないようです。なぜでしょうか?(Windows 版)
A

以下の項目をご確認ください。

・サーバスレッドオプションをご購入されたライセンスキーで使用していますか?
・インストールディレクトリに、FSServer.exeの他に、FSServerX.exeがあると思います。FSServerX.exeがサーバスレッド用の検索サーバプログラムとなっております。サーバスレッドをご使用の際は、既存のサーバプログラムと入れ替えてご使用ください。

サーバスレッドオプションのご利用方法といたしまして、以下の手順を行ってください。

1. FlexSearch 検索サーバを停止します。
2. FSServer.exe(シングルスレッド用)を退避します。
(例:FSServer.exe → FSServerS.exe に変更)
3. FSServerX.exe を FSServer.exe に名前を変更します。
4. FlexSearch 検索サーバを起動します。

サーバスレッドオプションが使えない
Q
サーバスレッドオプションを購入したのですが、マルチスレッド処理が行われていないようです。なぜでしょうか?(UNIX/Linux 版)
A
以下の項目をご確認ください。

・サーバスレッドオプションをご購入されたライセンスキーで使用していますか?
・$HOMEDIR/bin に、fsserver_s、fsserver_xがあると思います。fsserver_xがサーバスレッド用の検索サーバプログラムとなっております。初期設定では、fsserver のリンク先がfsserver_s となっております。サーバスレッドをご使用の際は、fsserver のリンク先をfsserver_x に変更してご使用ください。

サーバスレッドオプションのご利用方法といたしまして、以下の手順を行ってください。

1. FlexSearch 検索サーバを停止します。
2. >$ cd $HOMEDIR/bin
3. >$ rm fssever
4. >$ ln -s fsserver_x fsserver
5. FlexSearch 検索サーバを起動します。

マルチインデックスオプションって何?
Q
マルチインデックスオプションとはどのような機能ですか?
A
マルチインデックスオプションを使用すると、複数のインデックスを用いて検索ができるようになります。
複数のカテゴリを用いて検索を行いたい場合や、検索対象が複数ある場合などに必要となります。
複数カテゴリによる検索を行う場合の設定は?
Q
マルチインデックス機能を用いて、複数のインデックスをつくりました。複数のカテゴリに対して検索を行う場合、各インデックスの属性情報、キー情報は同じにする必要はありますか?
A
複数のカテゴリで検索する場合は、そのカテゴリの属性情報、キー情報は同じである必要があります。
また、独立した(同時に検索対象としない)カテゴリが複数である場合は、属性情報やキー情報も関連しませんので、同じでなくても問題ありません
マルチインデックスによるAND/OR検索
Q
マルチインデックス機能を利用し、 2つのインデックスに対して検索を行いその検索結果に対し、AND/ORを指定した時、どの属性を対象にAND/ORのマッチングを行っているのでしょうか?
A
AND検索では、1つ目のインデックスにおいて検索された結果と2つ目の検索結果から共通するレコード(内部ID)を持つレコードが検索の結果として出力されます。
ORでは、2つの検索結果に含まれる全レコードがOR検索の結果として出力されます。

2つのインデックスには、同じ対象のデータが、おなじ順序で登録されている必要があります。

マルチインデックスによる負荷は?
Q
マルチインデックス(複数カテゴリ)を利用することにより、システムに対する負荷は大きくなるのでしょうか?
A
異なるインデックスへの検索が交互に発生すると、サーバは各インデックスのオンメモリ情報を読み込み直すため、検索処理に若干の負荷が発生することになります。コンテンツ量が膨大(100万件クラス)の場合には、処理時間に若干の影響が発生する可能性があります。
DBリンクオプションて何?
Q
DBリンクオプションとはどのような機能ですか?
A
FlexSearch では、通常HTMLファイルやテキストファイルのみインデックス対象となっております。これはファイル内の全文を検索対象としています。(タグ情報等を除く)
これに対して、DBリンクオプションを使用すると、DBの情報をODBC経由等で抽出し、インデックスを作成することができます。これにより、任意のカラムを検索対象としたり、表示や絞り込みを行う情報として扱うことができます。
また、CSVファイルをインデックスの対象にする場合も当オプションが必要となります。
文書フィルターオプションて何?
Q
文書フィルターオプションとはどのような機能ですか?
A
文書フィルターオプションを使用すると、HTMLファイルやテキストファイルのほかに、Office文書ファイル(Word、Excel、PowerPont)、PDF文書ファイルを検索対象に追加できます。
文書フィルターオプションの有無は、ライセンスキーにて自動的に判断しますので、特に設定は必要ありません。
アクセス権チェックオプションって何?
Q
アクセス権チェックオプションとはどのような機能ですか?
A
通常のFlexSearch検索結果に対しアクセス権チェックを行い、アクセス権の無いコンテンツを除外し、アクセス可能なコンテンツのみを表示することができます。
アクセス権チェックは、WindowsのActive Directory機能を使用します。
拡張辞書は販売されていないか?
Q
拡張辞書を使用したいのですが、専用の辞書ファイルはないですか?
A
拡張辞書の販売は行っておりません。
辞書の取り消し
Q
一度登録した拡張辞書を取り消したいのですが、どうすればよいのでしょうか?
A
拡張辞書の販売は行っておりません。
カテゴリ番号の最大数
Q
カテゴリを指定する場合、いくつまで指定することができますか?
A
カテゴリ番号は 1〜999999で設定してください。
maxtext の最大値は?
Q
text のサイズをmaxtext で指定できると思います。maxtext は初期設定では2048になっているようですが、最大でいくつまで増やすことができるのでしょうか?
A
maxtextの上限値は特に設定しておりません。
指定された値のサイズの読み込みバッファが確保されます。
CSVファイルにつきましては、1行あたり10239バイトまでしか読み込むことができません。そのため、maxtext につきましても、10239バイトが最大となります。
インデックスファイル名の数字は何?
Q
インデックスファイル名に6桁の数字がありますが、何を意味するのでしょうか?
A
“fx000001.xxx” のようにインデックスファイル名についている数字はカテゴリ番号を示しています。例えば、“fx000011.xxx” というインデックスファイルはカテゴリ番号が11のインデックスとなります。
インデックス更新処理の仕組みは?
Q
インデックスの更新処理を行いたいのですが、どのような仕組みで行っているのでしょうか?
A
FlexSearch ではインデックスは次の3段階の処理によって行われます。

(1) インデックス更新処理
・対象テキスト、属性情報をインデックスに取り込みます。
・稼動中のサーバへの影響はありませんので、検索処理が可能です。
・検索結果は更新以前の内容になります。

(2) サーバロード用インデックスファイルの生成処理
・(1)により取り込んだインデックスからサーバロード用の一時ファイルを生成します。

(3) サーバへのインデックスファイルのロード処理
・(2)の一時ファイルをサーバへロードします。
・この瞬間にクライアントからの検索要求が起こると、その検索要求は失敗(サーバビジーエラー)します。
 
通常のインデックス作成処理では、上記(1)(2)(3)は連続して行われますが、オプション(-l オプション)により(1)と(2)(3)を分割処理することが可能です。

インデックスのバックアップ
Q
インデックスファイルの破損や、設定ミス(空データで更新してしまう等)が起きた場合に、素早く復旧ができるように、インデックスファイルをバックアップしておきたいのですが、バックアップ方法はありますでしょうか?また、その場合の復旧の手順を教えてください。
A
インデックスディレクトリ下にある、インデックスファイルを全てコピーしておいてください。
復旧する場合は、バックアップしてあるインデックスファイルをインデックスディレクトリにコピーし、検索サーバの再起動を行ってください。
インデックスサイズは?
Q
インデックスサイズはインデックス対象となるコンテンツ量に比べて何倍くらいのボリュームになりますか?
A
データの内容にもよりますが、元テキストのコンテンツ量の3〜4倍くらいを目安にしてください。
インデックスが作成できない
Q
インデックスの登録件数が、実際の行数より少ないか、もしくは0件になってしまうことがあります。
A
設定ファイルに記述したカラム番号が対象コンテンツ(CSVファイル)に存在しないと、その行はスキップします。そのため、インデックス作成対象となる件数が実際の行数よりも少なくなることもあります。
最後のカラムが空文字の場合も、区切り文字が必要となります。
コンテンツ内のタグは?
Q
検索対象のCSVファイル内にタグがあるのですが、タグはどのように認識されますか?
A
HTMLタグの特殊文字('<', '>', '&')はエンコードされます。
例えば、CSV内の表示情報のカラム内に“<br>” とあった場合、検索結果表示時には、“&lt;br&gt;” に変換されます。
未使用のカラムはインデックスサイズに影響するか?
Q
検索に使用していないCSVのカラムを減らすことにより、インデックスサイズは減少させることはできますか?
A
CSVファイル自体の項目数は取り込まれるデータ量とは直接関係ありません。
CSVファイルの項目が100あっても、そのうち使用しているカラムが5個であれば5カラム分のデータしか使われません。
主キーが複数ある場合のインデックス作成
Q
FSOdbcIndex を使用してインデックスを作りたいのですが、key 項目に複合キー(複数カラム)を指定することは可能でしょうか?
(例えば、品番+商品カテゴリIDなど)
A
指定可能です。

> key=品番 || 商品カテゴリID
上記のように、SQL式(文字列連結)を指定してください。

ODBCインデックス作成時にログにエラーが出力される
Q
ODBCインデクサーを用いてインデックスの作成を行うと、fsindex.log ファイルに、「System Message. : DB Server Warning : Stat=01004, Error=0, Message=[Microsoft][ODBC SQL Server Driver]文字列データの右側が切り捨てられました。, pcbMessage=75」というエラーメッセージが出力されました。これはどういう意味なのでしょうか?
A
fsearch.ini で設定した値(title=〜)などの部分で、文字列の切り捨てが発生しているために出力される警告メッセージです。titleなど文字列最大長が決まっている属性に、それを超える文字列を代入しようとすると、右側の切り捨てが発生します。
SQL文はどこに記述するか?
Q
データベースからインデックスを作成する場合、SQL文の記述は何処にすればよろしいのでしょうか?
A
SQL文を直接記述するのではなく、INIファイルの内容に基づいてFlexSearchインデクサがSQL文を構成してデータベースに接続します。
必要な情報はINIファイルに記述してください。
複数のテーブルからのインデックス作成
Q
複数テーブルから、指定した条件でそれぞれカラムを取り出し、その情報を元にインデックスをつくることはできますか?
A
インデクサー for ODBC では、次のようなSQL文を発行してデータ抽出を行います。

SELECT (カラム名列) FROM (テーブル名) WHERE (WHERE句)

たとえば、下記のようなINIファイル設定の場合、

table=book b, master m
where_clause=b.id = m.id and m.flag = 1
text=b.note
date=b.pubdate
title=b.title
size=b.price
・・・

この場合、SQLは次のようになります。

SELECT b.note, b.pubdate, b.title, b.price
FROM book b, master m WHERE b.id = m.id and m.flag = 1

SQLが複雑になる場合はVIEWを作成された方がすっきりと記述することができます。