Merge remote-tracking branch 'origin/master'
refs 5955 検索機能の改修 (1) Patron検索で1文字検索語により検索ができるよう修正

以下　山田様より：

    1文字検索のためのSolrクエリー文字列をLocalParamsを用いたものに変更した

    PatronsControllerでの1文字クエリーに対する検索を以下のSolrクエリーで対処するようにした。

     * 入力: あ いうえお
     * クエリー: {!qf='full_name_s ...'}*あ* *いうえお*

    要件仕様では1文字だけのクエリー文字列指定による検索を可能とするものであり、この変更は1文字クエリーを含む複数のクエリー文字列が与えられた場合の挙動に関するものである。現状のインデックス構造を大きく変えるのは難しいため、1文字クエリーを含まない場合とある程度の一貫性をとれることで十分とした。(クエリーの内容によらず同一の処理をするためにはインデックス構造の変更を含めた対応が必要となる。)
refs 6007 exchange manifestation without validation
refs 5900

図書館システムNACSIS接続機能の改修

NACSIS-CAT接続時の検索について、下記仕様を満たせるようenju本体、gatewayの改修を行う。
- Enju本体のシステム設定 split_by_type の値に関せず動作する(split_by_type = false でも動作する)
- Enju本体からgatewayへの検索リクエストは1回とする
- Enju本体で検索結果の表示は図書と雑誌で分ける(現状維持)
- :db=>:all のときも上記仕様の例外ではない
Merge branch 'master' of https://github.com/nakamura-akifumi/enju_trunk
Merge remote-tracking branch 'origin/master'
Merge remote-tracking branch 'origin/master'
refs 6007 delete flash
Merge branch 'master' of github.com:nakamura-akifumi/enju_trunk
refs 5900 nacsis_client.ymlに設定を追加
refs 5969 modified rake task to restart unicorn
Merge branch 'master' of https://github.com/nakamura-akifumi/enju_trunk
refs 5543 もしかして検索を利用する
refs 5984 利用統計機能の追加

利用統計に以下の機能を追加
- 年別利用統計
- 所属別利用統計
- 利用者別利用統計
- 資料別利用統計

また資料別利用統計を作成するに当たり
manifesrationsテーブルに和洋区分カラムを追加した
refs 5649 継続前継続後の実装（その１）

シリーズステートメントの継続・派生・吸収を管理する。
refs 5879 資料のTSV/CSV出力
Merge remote-tracking branch 'origin/master'
refs 6035 バスケットの一括更新ボタンの修正
refs 5955 資料の詳細検索の改修

検索語、タイトル、著者に対する前方一致検索を実装した。

以下、山田様より

Squashed commit of the following:

commit 61b6954824d7feff74a2d2739cb3794dbc446da7
Author: akira yamada <akira@arika.org>
Date:   Sun Dec 8 15:39:18 2013 +0900

    検索語の前方一致を実装した

    ただし、通常の「検索語」での検索を行う場合とでは対象とするフィールドに違いがある。
    具体的にはtitle、contributor、exinfo_1、exinfo_6、subject、isbn、issn、creator、publisherである。
    (後二者についてはroot_of_series?がtrueのケースで登録内に差異が生じる。)

    通常の「検索語」による検索と対象を同等にするためには
    他のフィールドについてもstring型フィールドを追加する必要がある。

commit bcf5211dee6da11a1d3e1b76289eb0f2eb52a575
Merge: 97a3d92 1c0e918
Author: akira yamada <akira@arika.org>
Date:   Sun Dec 8 12:00:18 2013 +0900

    Merge branch 'master' into development/start_with_match

commit 97a3d92379bc4db0a464dd8a7de5f2507d34ae89
Author: akira yamada <akira@arika.org>
Date:   Wed Dec 4 16:41:27 2013 +0900

    前方一致検索の際の空空文字の処理が不完全だったのを修正した

    前方一致検索の検索語に空白文字が含まれているとき、Solrクエリーが分割されてしまい意図した検索結果が得られなかった。

commit f62cf68d2d231d8ba0bc5f91350a34733276f7c5
Author: akira yamada <akira@arika.org>
Date:   Sat Nov 23 13:53:43 2013 +0900

    1文字検索語への対応が不十分だったのを修正した

    詳細検索時のパラメータtitle、creator、publisherに1文字だけの検索語を指定した際に生成されるSolrクエリーに不十分な点があったのを修正した。
    publisherについてはstring形インデックスがなかったため追加した。(インデックスの再構築が必要。)

    また、次の変更を行った。

    * manifestation_typeパラメータについて、詳細検索項目としても処理を行っていたが、正しくはフィルタ項目として扱うべきであったため、詳細検索処理から削除した。(動作そのものに影響はない。フィルタ項目としての処理は既存。)
    * manifestation_typesパラメータに存在しないManifestationTypeIDを指定した場合に例外が発生するのを修正した。
    * 詳細検索(項目指定)のためのテストを整理統合した。

commit 6295db17276949678dfc007264902ca5311ac353
Author: akira yamada <akira@arika.org>
Date:   Fri Nov 22 12:45:25 2013 +0900

    タイトル、著者に対する前一方致検索を実装した
refs 6027 solrインデックス再構築処理チューニング

以下、山田様より
Squashed commit of the following:

commit 3faf14321fb735cce26e03397c5e4226257f4e8f
Author: akira yamada <akira@arika.org>
Date:   Mon Dec 9 09:19:31 2013 +0900

    通常実行時の強制eager-loadingを止めた

    キャッシュを使用しない通常状態の動作について若干の速度低化が見られたため
    インデックス登録に際してのリロードにおけるeager-loadingを止めた。

commit 350d115f731ce3a10abbdb7f54f437542edb9f15
Author: akira yamada <akira@arika.org>
Date:   Sun Dec 8 11:37:06 2013 +0900

    Solrインデックス再構築のためのチューニング

    rake sunspot:reindexなどの処理時間短縮を目的として以下を行った。

     * eager-loading (rake sunspot:reindex対応)
     * eager-loading (Manifesation#index対応)
     * 上の二項により不要となったリロードの排除
     * 一部のDBクエリー結果のキャッシュ(注1)
     * 一部の所蔵の属性値の判定結果のキャッシュ(注1)
     * 関係モデルの不必要なロードの排除

    注1:

     * キャッシュの使用に際しては動作中に全レコードの変更がないことを前提とする。
     * キャッシュは再構築動作にのみ使用できるもので、一般的な動作には利用できない。
     * 環境変数ENABLE_ITEM_ATTR_CACHEが設定されているときにだけキャッシュが使用される。(実行例: rake sunspot:reindex ENABLE_ITEM_ATTR_CACHE=true)

commit c7653134c7bea610168a589adb4256eba7259b80
Author: akira yamada <akira@arika.org>
Date:   Sat Dec 7 00:49:14 2013 +0900

    キャッシュ回避のための変更を行った

    テスト実行中の、テスト側のコードにおける不必要なキャッシュを回避するための変更を行った。

commit 6f0b0685d999f1270e85b6ab74d6632d1d3eb1ed
Author: akira yamada <akira@arika.org>
Date:   Fri Dec 6 23:45:56 2013 +0900

    Solrインデックス再構築チューニングの動作検証に必要なテストを追加した

    インデックス再構築チューニングのために改修する部分の動作検証に必要なテストを追加した。

    また、その過程で見付かったmanifestation.itemsのキャッシュ回避のための改修を行った。