Class Senna::Index
In: ext/senna/senna.c
Parent: Object

Senna インデックス

Methods

close   create   info   new   open   remove   rename   select   update  

Constants

NORMALIZE = INT2NUM(SEN_INDEX_NORMALIZE)
SPLIT_ALPHA = INT2NUM(SEN_INDEX_SPLIT_ALPHA)
SPLIT_DIGIT = INT2NUM(SEN_INDEX_SPLIT_DIGIT)
SPLIT_SYMBOL = INT2NUM(SEN_INDEX_SPLIT_SYMBOL)
NGRAM = INT2NUM(SEN_INDEX_NGRAM)
DELIMITED = INT2NUM(SEN_INDEX_DELIMITED)

Public Class methods

インデックスファイルの作成。

有効な option:

:key_size [Integer] :キーのサイズ (default: 0)
:flags [Integer] :次のフラグを「|」で連結したもの。Senna::Index::NORMALIZE, Senna::Index::SPLIT_ALPHA, Senna::Index::SPLIT_DIGIT, Senna::Index::SPLIT_SYMBOL, Senna::Index::NGRAM, Senna::Index::DELIMITED. (default: 0)
:initial_n_segments [Integer] :初期バッファサイズ (default: 0)
:encoding [Integer] :次のいずれか。Senna::ENC_DEFAULT(default), Senna::ENC_NONE, Senna::ENC_EUC_JP, Senna::ENC_UTF8, Senna::ENC_SJIS

Argument

path [String] :インデックスファイル名

Return

Senna::Index オブジェクト

Exception

Senna::Error:インデックスの作成に失敗した

インデックスのオープン。

Argument

path [String] :インデックスファイル名

Return

Senna::Index オブジェクト

Exception

Senna::Error:インデックスのオープンに失敗した

インデックスのオープン。

Argument

path [String] :インデックスファイル名

Return

Senna::Index オブジェクト

Exception

Senna::Error:インデックスのオープンに失敗した

インデックスファイルの削除。

Argument

path [String] :インデックスファイル名

Exception

Senna::Error:インデックスの削除に失敗した

インデックスファイルのリネーム。

Argument

old_path [String] :元ファイル名
new_path [Stirng] :新ファイル名

Exception

Senna::Error:インデックスのリネームに失敗した

Public Instance methods

インデックスのクローズ。

Exception

Senna::Error:インデックスのクローズに失敗した

インデックス情報の取得。

Return

Hash :インデックス情報を表すハッシュ。次のキーを持つ。:key_size, :flags, :initial_n_segments, :encoding

インデックスの検索。

有効な option:

:mode [Integer] :次のいずれか。Senna::SEL_EXACT, Senna::SEL_PARTIAL, Senna::SEL_UNSPLIT, Senna::SEL_NEAR, Senna::SEL_SIMILAR, Senna::SEL_PREFIX, Senna::SEL_SUFFIX
:similarity_threshold [Integer] :Senna API DOC 参照
:max_interval [Integer] :Senna API DOC 参照
:weight_vector [Array of Integer] :Senna API DOC 参照
:vector_size [Integer] :Senna API DOC 参照

Argument

string [String] :検索する文字列
recs [Senna::Records] :結果が反映されるレコード群。未指定時は空の Senna::Records が作成される。
op [Integer] :次のいずれか。Senna::SEL_OR(default), Senna::SEL_AND, Senna::SEL_BUT, Senna::SEL_ADJUST

Return

Senna::Records :recs と同じ。

レコードを追加する場合は old_value に nil を指定する。 レコードを削除する場合は new_value に nil を指定する。 レコードを更新する場合は old_value, new_value の両方を指定する。

有効な option:

:section [Integer] :セクション番号

Argument

key [String/Integer] :インデックス値
old_value [String/Senna::Values] :古いレコード
new_value [String/Senna::Values] :新しいレコード

Exception

RuntimeError :インデックスがクローズ済み
RuntimeError :key のサイズがインデックスファイルのものとあっていない
TypeError :open() で key_size に Integer が指定されているのに、key が整数でない
TypeError :old_value, new_value が String でも Senna::Values でもない

[Validate]