ソフトンハウス・トップへ
お疲れぷろぐらま
ソフトンハウス製作日記
ソフトンハウスや日々のことを書いています。
ソフトンハウス
サーバー構築・システム開発
コンサル業務を受託しています。
ご興味のある方はお疲れぷろぐらま
までお気軽にご相談ください。
Calendar
<<9月>>
.....12
3456789
10111213141516
17181920212223
24252627282930
Blog Parts
にほんブログ村 IT技術ブログ Webサイト構築へ
blogram投票ボタン
Messages
Team Foundat...
SQL Serverフル...
東日本大震災から6年・3...
リスティング広告について...
Windows Serv...
WSUS 4.0...
東京オリンピック 202...
iSPP被災地スタディツ...
Windows 8 イン...
環境構築エンジニアを劣化...
Windows Serv...
Windows Serv...
Windows Serv...
『3.11 被災地の証言...
WindowsXP 80...
風邪をひきました。...
Hub無償提供のお知らせ...
ブログサイトに「いいね!...
サーバー機器移行...
復旧復興
→リスト表示する
Latest Blog
tonton
UFOや宇宙人の疑問 続...
前野岳洋
お食い初めは百日目か百二...
sunya
「往生院・日想観法要」再...
asobow
いないいない ばあから、...
kortodarma
<気概>
kortodarma
<紙>
sunya
『無常を考える』平成29...
tonton
UFOの目撃情報は信じら...
kortodarma
<士農工商>
sunya
「末法味わい薄けれども教...
前野岳洋
結婚礼法の発生と発達...
[最新順表示]  1 件
 [リストを表示] 1頁5件 1/1(1件)
2017/04/03 16:40:06 プライベート♪
なし
SQL Serverフルテキストインデックスを作成する

SQL Server にワードやPDF、パワーポイントデータを格納し、フルテキストインデックスを作成し全文検索したいという要望があるときに読んでください。文章の例は SQL Server 2008 です。

■テーブルを作成する。

WORDやEXCELを格納するフィールドを作る。以下の属性にする。
varbinary(MAX)

データ型を格納するフィールドを作る。以下の属性にする。
varchar(20)
格納するデータはファイルの拡張子なので、サイズが20もなくて十分であればもっと少なくする。

フィールドに格納する書類等を文字として抽出するには「IFilter」を用いることになるので、書類等の分類として拡張子を入れ込むフィールドも必要になる。その列を「データ型列」と言う。

実際にデータを投入するときは
varbinary(MAX) ← Document.doc(バイナリオブジェクトとして)
varchar(20) ← .doc
のようにすることで、IFilterはWORD文書であることを認識し、文書を文字化する。つまり、プログラムを組むときは自動的に拡張子を分離し、データ型列のデータとして格納することになる。

変数に文章を格納するときは、以下のような感じで。(例ではActiveX Data Objectの参照設定が必要)
Dim FILE_IMAGE() As Byte
Dim adoStream As ADODB.Stream
Dim FILE_SPEC=”C:\FOLDER\DOCUMENT.docx”
adoStream = New ADODB.Stream
adoStream.Type = ADODB.StreamTypeEnum.adTypeBinary
adoStream.Open()
adoStream.LoadFromFile(FILE_SPEC)
FILE_IMAGE = adoStream.Read
adoStream.Close()

■フルテキストインデックスの定義
SQL Server のstudioで「フルテキストの定義」を実行すれば作成されるが、ビューテーブルの場合や複雑な式はT-SQLでクエリを作成しなければならないことがある。
フルテキスト インデックス作成ウィザードの使用

■フィルターの定義。
以下のプログラム(各社から提供されているフィルター)をネットから探してインストールする。(64ビットOSの場合)

FilterPack64bit.exe
office-kb2124512-fullfile-x64-glb.exe
PDFFilter64Setup.msi

サーバーの環境設定(PATH)に以下を追加する。
C:\Program Files\Adobe\Adobe PDF iFilter 11 for 64-bit platforms\bin\
以上を設定したら再起動。

■IFilerを定義する
studioのクエリで以下を実行する。細かいことはコマンドをネットで検索して説明を読むこと。要はフィルター定義を読み込み、証明されていなくとも読み込むこととし、更新し、プロセスを再起動し、設定を強制上書き。その後に設定されたリストを表示する。

EXEC sp_fulltext_service @action='load_os_resources', @value=1;
EXEC sp_fulltext_service 'verify_signature', 0;
EXEC sp_fulltext_service 'update_languages';
EXEC sp_fulltext_service 'restart_all_fdhosts';
reconfigure with override;
go

SELECT * FROM sys.fulltext_document_types ;
SELECT * FROM sys.fulltext_languages;
EXEC sp_help_fulltext_system_components 'filter';

エラーがなければリストが画面に表示される。

■その他
カタログの再構築はstudioのストレージ、フルテキストカタログの中にあるカタログを右クリックして再構築。
ビューをフルテキストインデックス化する際は、変更のたびに再構築。

TB(0) | 記事URL |コメント |通報
画面TOPへ [最新順表示]  1 件
Profile
お疲れぷろぐらま
性別男性
年齢55歳
誕生7月中旬
星座かに座
血液B型
身長173cm
体型がっちり型
職業プログラマ
地域宮城県
性格温厚
趣味写真・ドライブ
チャームつぶらなひとみ?
長所のんびり
短所白黒はっきり
特技プログラム作り
自己紹介
ソフトンハウスの制作をしています。
Category
ITコンサルタント(63)
Windows 7(17)
Windows Server(58)
アフリエイト・SEO対策(8)
おしゃれ(2)
ぐるめ(1)
なし(10)
宇宙のお話(33)
景気を良くしよう。(17)
構築プロジェクト(3)
雑談(157)
製作日記(128)
東日本大震災(19)
→リスト表示する
Favorite
はぶりんブログ
ティップの大冒険
デェ〜王
ROSE HEART
ソフトンハウス
Archive
2017年06月 (1)
2017年04月 (1)
2017年03月 (1)
2017年02月 (1)
2016年12月 (1)
2015年12月 (1)
→リスト表示する
今日
今月
累計
掲載情報などの無断転用・転載を禁止します。著作権は 株式会社ソフトウエア開発 に属します。
本サイトに関するお問い合わせ、広告等の掲載依頼は ソフトンハウス運営チーム までご連絡ください。