このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
mroonga:10.7:tutorial [2020/11/10 17:27] y2sunlight [クエリ展開] |
mroonga:10.7:tutorial [2020/11/10 17:56] y2sunlight [クエリ展開] |
||
---|---|---|---|
行 452: | 行 452: | ||
Mroongaのクエリ展開機能は、同義語や関連語を展開して検索する場合に利用できます。 | Mroongaのクエリ展開機能は、同義語や関連語を展開して検索する場合に利用できます。 | ||
+ | |||
+ | まずは、以下のような関連語テーブルを準備します。以下の例では、検索対象周辺の都道府県を持つ関連語テーブルを例として使用しますが、同義語テーブルなどが一般的かもしれません。 | ||
<code sql> | <code sql> | ||
行 464: | 行 466: | ||
INSERT INTO area VALUES (' | INSERT INTO area VALUES (' | ||
</ | </ | ||
+ | |||
+ | このようなテーブルを準備することによって、「東京」、「神奈川」、「埼玉」の何れが検索語として指定されても「東京」がヒットするようになります。尚、この例のように、'' | ||
+ | |||
+ | === mroonga_query_expand関数 === | ||
+ | |||
+ | 次のユーザ定義関数を '' | ||
+ | |||
+ | < | ||
+ | mroonga_query_expand(table, | ||
+ | </ | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | 例 | ||
<code sql> | <code sql> | ||
- | SELECT * FROM diaries WHERE MATCH(content) AGAINST(mroonga_query_expand(" | + | SELECT * FROM diaries |
+ | | ||
+ | -- または | ||
+ | SELECT * FROM diaries | ||
+ | WHERE MATCH(content) AGAINST(mroonga_query_expand(" | ||
</ | </ | ||
+ | |||
+ | 上の2つは以下の同じ検索結果を表示します。 | ||
<code sql> | <code sql> | ||
+ | 明日の東京都の天気は晴れでしょう。 | ||
</ | </ | ||