udm_set_agent_param() は成功時に TRUE、エラー時にFALSEを返し ます。mnoGoSearch セッションパラメータを定義します。
以下のパラメータおよびそれらの値が利用可能です。
UDM_PARAM_PAGE_NUM - はページ番号を検索結果とするために使用さ れます。(結果は、ページ毎にUDM_PARAM_PAGE_SIZE個の結果を有する0 から始まるページで返されます)
UDM_PARAM_PAGE_SIZE - は一ページに表示される検索結果の数。
UDM_PARAM_SEARCH_MODE - 検索モード。次の値が利用可能です。: UDM_MODE_ALL - 全ての単語を検索します。; UDM_MODE_ANY - 全ての単語で検索する; UDM_MODE_PHRASE - 熟語検索; UDM_MODE_BOOL - 論理値検索。論理値検索に関する詳細については udm_find() を参照下さい。
UDM_PARAM_CACHE_MODE - 検索結果のキャッシュモードをオンまたはオ フにします。有効の場合、検索エンジンは検索結果をディスクに保存 します。似たような検索が後で実行された場合、エンジンはより高速 にキャッシュから結果を得ることが可能です。 利用可能な値: UDM_CACHE_ENABLED, UDM_CACHE_DISABLED.
UDM_PARAM_TRACK_MODE - クエリ追跡モードをオンまたはオフにします。 バージョン3.1.2以降、mnoGoSearch はクエリ追跡モードをサポートし ています。追跡はSQLバージョンにのみ実装されており、組み込みデー タベースでは利用できません。追跡を使用するには、テーブルを追跡 サポート用に作成する必要があります。MySQLの場合、 create/mysql/track.txtを使用して下さい。検索実行時に、フロント エンドはクエリ単語、見つけたドキュメントの数、カレントの秒単位 のUNIXタイムスタンプを保存するためにこれらのテーブルを使用しま す。 利用可能な値: UDM_TRACK_ENABLED, UDM_TRACK_DISABLED.
UDM_PARAM_PHRASE_MODE - 熟語を用いたインデックスデータベースか どうかを定義します。(indexer.confにおける"phrase" パラメータ) 使用可能な値: UDM_PHRASE_ENABLED および UDM_PHRASE_DISABLED。 熟語検索が有効な場合(UDM_PHRASE_ENABLED)でも、全てのモード (ANY、ALL、BOOL、PHRASE)で検索が可能であることに注意して下さい。 mnoGoSearchのバージョン3.1.10で熟語検索がSQLと組み込みデータベー スモードでのみサポートされました。一方、3.1.11で熟語がcachemode でもサポートされ始めました。
熟語検索の例:
"Arizona desert" - このクエリは、"Arizona desert"を熟語として含 む全てのドキュメントを返します。熟語の前後に二重引用符が必要で あることに注意して下さい。
UDM_PARAM_CHARSET - ローカルなcharsetを定義します。利用可能な値: mnoGoSearchによりサポートされるcharsetの組, 例えば、koi8-r, cp1251, ...
UDM_PARAM_STOPFILE - stopfileの名前とパスを定義します。 (mnoGoSearchと若干違いがあります。つまり、mnoGoSearchにおいては、 相対パスまたはパスが入力されなかった場合、UDM_CONF_DIRに関して このファイルが探されます。モジュールは、このファイルをカレント のパス(すなわち、PHPスクリプトが実行されるパス)で探します。
UDM_PARAM_STOPTABLE - 指定したSQLテーブルから停止単語をロードし ます。複数のStopwordTableコマンドを使用可能です。このコマンドは、 SQLデータベースサポートを有効にせずにコンパイルした場合は使用で きません。
UDM_PARAM_WEIGHT_FACTOR - 指定したドキュメント部分の重み係数を 表します。現在、body, title, keywords, description, urlがサポー トされています。この機能を有効にするには、indexer.confの*Weight コマンドに2の累乗を指定して下さい。ここで次のような重みを指定し た場合を考えてみましょう。
URLWeight 1
BodyWeight 2
TitleWeight 4
KeywordWeight 8
DescWeight 16
同じドキュメントにいくつかの単語が複数回現れる場合、 indexerが単語の重みにOR演算子を使用するので、異なったドキュメン トの部分に単語が現れる回数を検出可能です。全てのドキュメント部 分で使用される単語は、重み集合 00011111 を有します。
このパラメータの値は、16進数文字列 ABCDE です。各桁は、単語重み の対応するビットの因子です。上で指定した重み設定は次のようにな ります。
E は重み1の因子 (URL Weight ビット)
D は重み2の因子 (BodyWeight ビット)
C は重み4の因子 (TitleWeight ビット)
B は重み8の因子 (KeywordWeight ビット)
A は重み16の因子 (DescWeight ビット)
例:
UDM_PARAM_WEIGHT_FACTOR=00001 は、URLのみを検索します。
UDM_PARAM_WEIGHT_FACTOR=00100 は、Titleのみを検索します。
UDM_PARAM_WEIGHT_FACTOR=11100 は、Title,Keywords,Desctriptionを 検索しますが、URL と Bodyは検索しません。
UDM_PARAM_WEIGHT_FACTOR=F9421 は、次の検索を行います。
Description with factor 15 (16進数 F)
Keywords with factor 9
Title with factor 4
Body with factor 2
URL with factor 1
UDM_PARAM_WEIGHT_FACTOR 変数が省略された場合、元の重みの値はソー ト結果から引き出されます。上記で指定した重み設定の場合、ドキュ メントのDescriptionは、最大重み16を有するドキュメントの descriptionを意味します。
UDM_PARAM_WORD_MATCH - 単語にマッチ。このパラメータを単語検索型 を選択する際に使用可能です。この機能は、"single"および"multi"モー ドでSQLデータベースおよび組み込みのデータベースを使用する場合に のみ動作します。この機能は、cachemodeおよび他のモードでは動作し ません。これは、これらのモードが、単語CRCを使用しており、部分文 字列検索をサポートしていないからです。 利用可能な値は次のようになります。
UDM_MATCH_BEGIN - 単語の始めにマッチ
UDM_MATCH_END - 単語の終りにマッチ
UDM_MATCH_WORD - 単語全体にマッチ
UDM_MATCH_SUBSTR - 単語の部分文字列にマッチ
UDM_PARAM_MIN_WORD_LEN - 単語の最短長を定義します。 この制限より短い単語は、stopwordとみなされます。このパラメータ はその値自身も範囲に含むことに注意して下さい。つまり、 UDM_PARAM_MIN_WORD_LEN=3 の場合、3文字の長さの単語はstopwordと 見なされませんが、2文字の単語はstopwordとみなされます。デフォル トは1です。
UDM_PARAM_MAX_WORD_LEN - 最長の単語を定義します。この制限よりも 長い単符は、stopwordとみなされます。このパラメータはその値も範 囲に含むことに注意して下さい。つまり、UDM_PARAM_MAX_WORD_LEN=32 の場合、32文字の単語はstopwordとみなされませんが、33文字の単語 はみなされます。デフォルトは、32です。