全文検索システム『ひまわり』/設定ファイル作成の手引き2a
をテンプレートにして作成
開始行:
[[全文検索システム『ひまわり』/設定ファイル作成の手引き2]]
[[全文検索システム『ひまわり』]]
&color(red){&size(20){本ページは現在作成中です};};
#contents
*1.はじめに [#h82273b3]
このページでは,設定ファイルで記述できる項目のうち,検...
-本手引きは,「[[簡単な検索用データの作成方法>全文検索シ...
-『ひまわり』では,検索対象の資料が XML で記述されている...
--本ページ中に頻繁に現れる「要素」,「タグ」,「属性」な...
--XML 自体についての解説は,各種の入門書・Web ページをご...
*2.『ひまわり』の検索機能 [#p02ccb55]
このあと説明するのは,次の#つの検索方法です。
- [[XML要素内容に対する全文検索>#l30b873d]]
- [[検索結果の要素内容をマークアップしているタグの属性の...
- [[タグの属性の検索>#je98a011]]
- [[Stand-Off型マークアップの検索>#v1b325c1]]
//- XML要素の属性の検索(属性値をキーとする検索)
//- Stand-Off型マークアップの検索
<corpus>
<simpledoc author="宮沢賢治" title="やまなし" src="https...
<body>
蟹の子供らは、あんまり月が明るく水がきれいなので<corre...
<u speaker="蟹(兄)">『やっぱり僕の泡は大きいね。』</u>
<u speaker="蟹(弟)">『兄さん、わざと大きく吐いてるんだ...
<u speaker="蟹(兄)">『吐いてごらん。おや、たったそれき...
<u speaker="蟹(弟)">『大きかないや、おんなじだい。』</u>
</body>
<note>
---
注:原資料に次の変更を行っている。(1)話者,感情表示を追...
</note>
</simpledoc>
</corpus>
*3.XML要素内容に対する全文検索 [#l30b873d]
**3.1 通常の全文検索 [#b85fbc43]
まず,[[簡単な検索用データの作成方法>全文検索システム『...
<?xml version="1.0" encoding="utf-16" ?>
<corpus>
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介">
ある日の事でございます。御釈迦様は極楽の蓮池のふちを、...
になっていらっしゃいました。
:(中略)
</simpledoc>
</corpus>
全文検索対象の要素は,設定ファイルの index_cix 要素で指...
<index_cix>
<li name="simpledoc" label="本文" middle_name="sd" ty...
</index_cix>
li 要素の内容は,次のとおりです。
:name 属性:|全文検索対象の要素名です。上の例の場合,li ...
:label 属性:|検索対象の選択メニューに表示される文字列で...
:middle_name 属性:| 索引ファイル名の一部となります。他の...
:type 属性:| 「normal」としてください。
:field_name 属性:| 検索結果を表示する列名を指定します。...
上記の例では,全部検索対象をひとつだけ指定しましたが,...
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介">
<body>
ある日の事でございます。御釈迦様は極楽の蓮池のふちを、...
</body>
<note>
底本:「芥川龍之介全集2」ちくま文庫、筑摩書房
1986(昭和61)年10月28日第1刷発行
1996(平成8)年7月15日第11刷発行
親本:筑摩全集類聚版芥川龍之介全集
1971(昭和46)年3月〜11月
</note>
</simpledoc>
RIGHT:(青空文庫の[[芥川龍之介「蜘蛛の糸」>https://www.aoz...
このようなデータに対して,本文だけ,書誌情報だけ,両方...
<index_cix>
<li name="body" label="本文" middle_name="body" type=...
<li name="note" label="書誌情報" middle_name="note" t...
<li name="simpledoc" label="全体" middle_name="sd" ty...
</index_cix>
**3.2 正規表現による全文検索 [#j1ad07a1]
検索速度は落ちますが,正規表現を使った全文検索を行うこ...
<index_cix>
<li name="simpledoc" label="本文" middle_name="sd" ty...
<li name="simpledoc" label="本文(正規表現)" middle_na...
</index_cix>
*4.検索結果の要素内容をマークアップしているタグの属性の...
** 4.1 抽出する属性の指定 [#f0996d51]
『ひまわり』は,検索した要素内容をマークアップしている...
まず,config_simpledoc.xml の中の field_setting 要素を...
<field_setting>
<li name="no" type="index" width="30" align="RIGHT" />
<li name="前文脈" type="preceding_context" element="_s...
<li name="キー" type="key" element="_sys" attribute="_...
<li name="後文脈" type="following_context" element="_s...
<li name="著者" type="argument" element="simpledoc" at...
<li name="タイトル" type="argument" element="simpledoc...
</field_setting>
li 要素の name 属性に注目してください。これを見てわかる...
li 要素の属性のうち,本題に関係する四つの属性を見ていき...
:name 属性:|検索結果の列名です。この値を変更すれば,列の...
:type 属性:|ここでは,「argument」としてください。
:element, attribute 属性:|それぞれの属性値で,抽出対象の...
:width 属性:|検索結果の列の幅(単位はpixel)です。
まず,抽出する属性の変更ですが,上で述べたように,li 要...
次に,抽出する属性を追加してみます。例として,「[[簡単...
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介" 作成日=...
資料に対して,「作成日」属性を追加したら,config_simple...
<li name="作成日" type="argument" element="simpledoc" at...
attribute 属性が「作成日」となっているのに注意してくだ...
** 4.2 属性を抽出する要素の設定 [#je1c9a13]
説明の順序が逆になりますが,属性を抽出する要素に対して...
<index_eix>
<li name="simpledoc" middle_name="sd" is_empty="false"...
</index_eix>
それぞれの属性の意味は,次のとおりです。
:name 属性:|属性抽出対象の要素名です。上の例の場合,li ...
:middle_name 属性:| 他の li 要素の middle_name 属性値と...
:isBrowsed 属性:|「true」の場合は,閲覧対象の要素([ツー...
:is_empty 属性:|空要素タグの場合,true としてください。
:top 属性:|ここでは,詳しく説明しません。false としてく...
//isBrowsed 属性を true ブラウザ表示をしたとき,最上位の...
もう一つの例として,複数の要素の属性を抽出する方法を説...
具体的な状況として,複数の章からなる文書を考えてみます...
<simpledoc タイトル="全文検索システムについて" 筆者="国...
<章 タイトル="第1章 はじめに">
この文章では,... について述べます。
:
:
</章>
<章 タイトル="第2章 発表の手順">
本発表の手順は,次のとおりです。
:
:
</章>
</simpledoc>
ここで,第2章に含まれる「本発表」を検索したとします。c...
「章」要素を属性抽出対象の要素とするには,次の li 要素...
<index_eix>
<li name="simpledoc" middle_name="sd" is_empty="false"...
<li name="章" middle_name="section" is_empty="false" t...
</index_eix>
li 要素の追加が終わったら,[ツール]→[インデックス生成]...
以上で,index_eix 要素のほうの準備は,完了です。後は,...
<li name="章のタイトル" type="argument" element="章" at...
* 5.タグの属性の検索 [#je98a011]
タグの属性検索の例として,ルビの検索の例を示します。ル...
次の例では,「御釈迦様」にルビとして「おしゃかさま」を...
<corpus>
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介">
ある日の事でございます。<r rt="おしゃかさま">御釈迦様<...
になっていらっしゃいました。
:(中略)
</simpledoc>
</corpus>
『青空文庫』サンプルでもルビを同じ方法で記述しているの...
完全一致と部分一致の二つの設定がありますが,どちらも,l...
<index_aix>
<li argument="rt" field_name="キー" isCompleteMatch="t...
<li argument="rt" field_name="キー" isCompleteMatch="f...
</index_aix>
完全一致,部分一致は,isCompleteMatch 属性の "true", "f...
* 6.Stand-Off型マークアップの検索 [#v1b325c1]
『ひまわり』のテキストデータインポート機能を利用する際...
** 6.1 属性としての検索 [#d058f492]
Stand-Off型でマークアップされている情報の検索は,5節の...
上から二つの li 要素が5節で説明したルビ検索のための設...
<index_aix>
<li argument="rt" field_name="キー" isCompleteMatch="t...
<li argument="rt" field_name="キー" isCompleteMatch="f...
<li argument="_TEXT" field_name="キー" isCompleteMatch...
<li argument="品詞" field_name="キー" isCompleteMatch=...
<li argument="活用型" field_name="キー" isCompleteMatc...
<li argument="活用形" field_name="キー" isCompleteMatc...
<li argument="基本形" field_name="キー" isCompleteMatc...
<li argument="読み" field_name="キー" isCompleteMatch=...
</index_aix>
** 6.2 検索結果のための設定 [#y87dd229]
次に,品詞や活用型の情報を検索結果に表示するための設定...
config_aozora_sample.sd.xml の field_setting 要素を参照...
ここを見ればわかるとおり,4.1節で説明した普通のタグの属...
<field_setting>
:
<li attribute="タイトル" element="記事" name="タイト...
<li attribute="著者" element="記事" name="著者" type=...
<li attribute="品詞" element="morph" name="品詞" type...
<li attribute="品詞細分類1" element="morph" name="品...
<li attribute="品詞細分類2" element="morph" name="品...
<li attribute="品詞細分類3" element="morph" name="品...
<li attribute="活用型" element="morph" name="活用型" ...
----
*補足説明&aname(hosoku); [#b3551c11]
ここでは,XML に関する用語のうち,「要素」,「タグ」,...
-「開始タグ」から「終了タグ」までの部分を「要素」といいま...
-「開始タグ」と「終了タグ」は必ずペアになっています。
&ref(../設定ファイル作成の手引き/himawari_glossary1.png);
-ただし,「開始タグ」と「終了タグ」で囲われている部分(「...
<li name="simpledoc" path="Corpora/Simpledoc/corpus" />
-上の simpledoc 要素のように,「要素」に「属性」を付与す...
「属性」は「開始タグ」に記入します。上の例では,simpledoc...
終了行:
[[全文検索システム『ひまわり』/設定ファイル作成の手引き2]]
[[全文検索システム『ひまわり』]]
&color(red){&size(20){本ページは現在作成中です};};
#contents
*1.はじめに [#h82273b3]
このページでは,設定ファイルで記述できる項目のうち,検...
-本手引きは,「[[簡単な検索用データの作成方法>全文検索シ...
-『ひまわり』では,検索対象の資料が XML で記述されている...
--本ページ中に頻繁に現れる「要素」,「タグ」,「属性」な...
--XML 自体についての解説は,各種の入門書・Web ページをご...
*2.『ひまわり』の検索機能 [#p02ccb55]
このあと説明するのは,次の#つの検索方法です。
- [[XML要素内容に対する全文検索>#l30b873d]]
- [[検索結果の要素内容をマークアップしているタグの属性の...
- [[タグの属性の検索>#je98a011]]
- [[Stand-Off型マークアップの検索>#v1b325c1]]
//- XML要素の属性の検索(属性値をキーとする検索)
//- Stand-Off型マークアップの検索
<corpus>
<simpledoc author="宮沢賢治" title="やまなし" src="https...
<body>
蟹の子供らは、あんまり月が明るく水がきれいなので<corre...
<u speaker="蟹(兄)">『やっぱり僕の泡は大きいね。』</u>
<u speaker="蟹(弟)">『兄さん、わざと大きく吐いてるんだ...
<u speaker="蟹(兄)">『吐いてごらん。おや、たったそれき...
<u speaker="蟹(弟)">『大きかないや、おんなじだい。』</u>
</body>
<note>
---
注:原資料に次の変更を行っている。(1)話者,感情表示を追...
</note>
</simpledoc>
</corpus>
*3.XML要素内容に対する全文検索 [#l30b873d]
**3.1 通常の全文検索 [#b85fbc43]
まず,[[簡単な検索用データの作成方法>全文検索システム『...
<?xml version="1.0" encoding="utf-16" ?>
<corpus>
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介">
ある日の事でございます。御釈迦様は極楽の蓮池のふちを、...
になっていらっしゃいました。
:(中略)
</simpledoc>
</corpus>
全文検索対象の要素は,設定ファイルの index_cix 要素で指...
<index_cix>
<li name="simpledoc" label="本文" middle_name="sd" ty...
</index_cix>
li 要素の内容は,次のとおりです。
:name 属性:|全文検索対象の要素名です。上の例の場合,li ...
:label 属性:|検索対象の選択メニューに表示される文字列で...
:middle_name 属性:| 索引ファイル名の一部となります。他の...
:type 属性:| 「normal」としてください。
:field_name 属性:| 検索結果を表示する列名を指定します。...
上記の例では,全部検索対象をひとつだけ指定しましたが,...
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介">
<body>
ある日の事でございます。御釈迦様は極楽の蓮池のふちを、...
</body>
<note>
底本:「芥川龍之介全集2」ちくま文庫、筑摩書房
1986(昭和61)年10月28日第1刷発行
1996(平成8)年7月15日第11刷発行
親本:筑摩全集類聚版芥川龍之介全集
1971(昭和46)年3月〜11月
</note>
</simpledoc>
RIGHT:(青空文庫の[[芥川龍之介「蜘蛛の糸」>https://www.aoz...
このようなデータに対して,本文だけ,書誌情報だけ,両方...
<index_cix>
<li name="body" label="本文" middle_name="body" type=...
<li name="note" label="書誌情報" middle_name="note" t...
<li name="simpledoc" label="全体" middle_name="sd" ty...
</index_cix>
**3.2 正規表現による全文検索 [#j1ad07a1]
検索速度は落ちますが,正規表現を使った全文検索を行うこ...
<index_cix>
<li name="simpledoc" label="本文" middle_name="sd" ty...
<li name="simpledoc" label="本文(正規表現)" middle_na...
</index_cix>
*4.検索結果の要素内容をマークアップしているタグの属性の...
** 4.1 抽出する属性の指定 [#f0996d51]
『ひまわり』は,検索した要素内容をマークアップしている...
まず,config_simpledoc.xml の中の field_setting 要素を...
<field_setting>
<li name="no" type="index" width="30" align="RIGHT" />
<li name="前文脈" type="preceding_context" element="_s...
<li name="キー" type="key" element="_sys" attribute="_...
<li name="後文脈" type="following_context" element="_s...
<li name="著者" type="argument" element="simpledoc" at...
<li name="タイトル" type="argument" element="simpledoc...
</field_setting>
li 要素の name 属性に注目してください。これを見てわかる...
li 要素の属性のうち,本題に関係する四つの属性を見ていき...
:name 属性:|検索結果の列名です。この値を変更すれば,列の...
:type 属性:|ここでは,「argument」としてください。
:element, attribute 属性:|それぞれの属性値で,抽出対象の...
:width 属性:|検索結果の列の幅(単位はpixel)です。
まず,抽出する属性の変更ですが,上で述べたように,li 要...
次に,抽出する属性を追加してみます。例として,「[[簡単...
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介" 作成日=...
資料に対して,「作成日」属性を追加したら,config_simple...
<li name="作成日" type="argument" element="simpledoc" at...
attribute 属性が「作成日」となっているのに注意してくだ...
** 4.2 属性を抽出する要素の設定 [#je1c9a13]
説明の順序が逆になりますが,属性を抽出する要素に対して...
<index_eix>
<li name="simpledoc" middle_name="sd" is_empty="false"...
</index_eix>
それぞれの属性の意味は,次のとおりです。
:name 属性:|属性抽出対象の要素名です。上の例の場合,li ...
:middle_name 属性:| 他の li 要素の middle_name 属性値と...
:isBrowsed 属性:|「true」の場合は,閲覧対象の要素([ツー...
:is_empty 属性:|空要素タグの場合,true としてください。
:top 属性:|ここでは,詳しく説明しません。false としてく...
//isBrowsed 属性を true ブラウザ表示をしたとき,最上位の...
もう一つの例として,複数の要素の属性を抽出する方法を説...
具体的な状況として,複数の章からなる文書を考えてみます...
<simpledoc タイトル="全文検索システムについて" 筆者="国...
<章 タイトル="第1章 はじめに">
この文章では,... について述べます。
:
:
</章>
<章 タイトル="第2章 発表の手順">
本発表の手順は,次のとおりです。
:
:
</章>
</simpledoc>
ここで,第2章に含まれる「本発表」を検索したとします。c...
「章」要素を属性抽出対象の要素とするには,次の li 要素...
<index_eix>
<li name="simpledoc" middle_name="sd" is_empty="false"...
<li name="章" middle_name="section" is_empty="false" t...
</index_eix>
li 要素の追加が終わったら,[ツール]→[インデックス生成]...
以上で,index_eix 要素のほうの準備は,完了です。後は,...
<li name="章のタイトル" type="argument" element="章" at...
* 5.タグの属性の検索 [#je98a011]
タグの属性検索の例として,ルビの検索の例を示します。ル...
次の例では,「御釈迦様」にルビとして「おしゃかさま」を...
<corpus>
<simpledoc タイトル="蜘蛛の糸" 著者="芥川龍之介">
ある日の事でございます。<r rt="おしゃかさま">御釈迦様<...
になっていらっしゃいました。
:(中略)
</simpledoc>
</corpus>
『青空文庫』サンプルでもルビを同じ方法で記述しているの...
完全一致と部分一致の二つの設定がありますが,どちらも,l...
<index_aix>
<li argument="rt" field_name="キー" isCompleteMatch="t...
<li argument="rt" field_name="キー" isCompleteMatch="f...
</index_aix>
完全一致,部分一致は,isCompleteMatch 属性の "true", "f...
* 6.Stand-Off型マークアップの検索 [#v1b325c1]
『ひまわり』のテキストデータインポート機能を利用する際...
** 6.1 属性としての検索 [#d058f492]
Stand-Off型でマークアップされている情報の検索は,5節の...
上から二つの li 要素が5節で説明したルビ検索のための設...
<index_aix>
<li argument="rt" field_name="キー" isCompleteMatch="t...
<li argument="rt" field_name="キー" isCompleteMatch="f...
<li argument="_TEXT" field_name="キー" isCompleteMatch...
<li argument="品詞" field_name="キー" isCompleteMatch=...
<li argument="活用型" field_name="キー" isCompleteMatc...
<li argument="活用形" field_name="キー" isCompleteMatc...
<li argument="基本形" field_name="キー" isCompleteMatc...
<li argument="読み" field_name="キー" isCompleteMatch=...
</index_aix>
** 6.2 検索結果のための設定 [#y87dd229]
次に,品詞や活用型の情報を検索結果に表示するための設定...
config_aozora_sample.sd.xml の field_setting 要素を参照...
ここを見ればわかるとおり,4.1節で説明した普通のタグの属...
<field_setting>
:
<li attribute="タイトル" element="記事" name="タイト...
<li attribute="著者" element="記事" name="著者" type=...
<li attribute="品詞" element="morph" name="品詞" type...
<li attribute="品詞細分類1" element="morph" name="品...
<li attribute="品詞細分類2" element="morph" name="品...
<li attribute="品詞細分類3" element="morph" name="品...
<li attribute="活用型" element="morph" name="活用型" ...
----
*補足説明&aname(hosoku); [#b3551c11]
ここでは,XML に関する用語のうち,「要素」,「タグ」,...
-「開始タグ」から「終了タグ」までの部分を「要素」といいま...
-「開始タグ」と「終了タグ」は必ずペアになっています。
&ref(../設定ファイル作成の手引き/himawari_glossary1.png);
-ただし,「開始タグ」と「終了タグ」で囲われている部分(「...
<li name="simpledoc" path="Corpora/Simpledoc/corpus" />
-上の simpledoc 要素のように,「要素」に「属性」を付与す...
「属性」は「開始タグ」に記入します。上の例では,simpledoc...
ページ名: