Weitere ähnliche Inhalte
Ähnlich wie 2012 11 29 groonga 勉強会 発表資料 (18)
Kürzlich hochgeladen (10)
2012 11 29 groonga 勉強会 発表資料
- 5. コンテンツの種類 特集
● コラム
● 選考情報
各企業の採用情報 企業研究
- 7. 検索対象となるコンテンツの分類
検索項目
ページ種別 priority マッチング対象 テーブル 抽出条件
コラム特集 1 タイトル posts post_type = 'special' AND
本文 post_name LIKE 'column_%'
採用情報ページ 2 企業名, 概要 com_page status = 'publish' AND id > 1
(企業広告)
企業研究 3 企業名 company_study
コラム 4 タイトル posts post_type = 'post' AND
本文 post_status = 'publish'
募集情報 4 タイトル recruiting_info status = 'publish'
本文
- 8. 検索対象となるコンテンツの分類
結果の表示に用いる項目
種別 url path type タイトル スニペット
コラム特集 /cpecail/column_{id} special <タイトル> post_content から
ショートタグを除いた
もの
採用情報ページ /company/{id} company_page <企業名>の採用情報 会社概要
(企業広告)
企業研究 /company_study/{id} company_study <企業名>の企業研究 のインターン・新卒採
用の募集情報、選考
対策、口コミ、給料、
採用ページを集めた
関連リンク集などを
掲載。
コラム /archives/{id} column <記事タイトル> 本文からキーワード
周辺を抜粋
募集情報 /recruiting_info/view/{id} recruiting_info <記事タイトル> 本文からキーワード
周辺を抜粋
- 9. groonga インデックスのスキーマ定義
table_create --name Item --flags TABLE_HASH_KEY --key_type ShortText
column_create --table Item --name title --flags COLUMN_SCALAR --type ShortText
column_create --table Item --name content --flags COLUMN_SCALAR --type Text
column_create --table Item --name post_date --flags COLUMN_SCALAR --type Time
column_create --table Item --name priority --flags COLUMN_SCALAR --type Int32
column_create --table Item --name type --flags COLUMN_SCALAR --type ShortText
table_create --name Bigram --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
column_create --table Bigram --name title_index --flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION --type Item --source title,content
● N-gram
● 複数のカラム(タイトル、本文)に対して1つのインデックスを付与
- 10. 検索クエリ
$qs = http_build_query( array(
'table' => 'Item',
'match_columns' => 'title||content',
'query' => $args['q'],
'output_columns' => '_key,type,title,content,_score,post_date',
'sortby' => 'priority,-post_date,_score',
'limit' => $per_page,
'offset' => $offset
) );
$url = "http://xxx.xxxxxx.xxx:port/d/select?$qs";
- 11. 記事の更新/削除とインデックス反映
WebApp query over HTTP groonga
(cakephp) httpd groonga
DB
Job Queue
post ID (TheSchwartz)
add queue
WordPress
DB
(MySQL)