Ubuntu 12.04にnode.jsを入れてみる。インストール方法はここに書いてあるけど
$ sudo apt-get install python-software-properties
$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs npm
という感じのことを実行する。Node C++モジュールをコンパイルする必要があるなら
$ sudo apt-get install nodejs-dev
も実行しておく。あとは、
$ node -e "console.log('Node is running.');"
Node is running.
という感じで軽く動作確認しておく。
投稿者: shinsuke
FessでFacet表示
Fessでのファセット表示は一応サポートしているのだけど、画面上で表示とかしていないので、実際に使い方が謎な感じだったかもしれない。というわけで、Fess 8からは標準で表示するようにしてみました。デモサイトで確認することができます。
Solrの日付型
Fessではファイルの更新日時とかlongとしてもっていたのだけど、日付のファセットをやろうと思うとdate型にする必要があるようなので、型を変更することにした。そもそも、なんでlongにしていたかというと、いまいちSolrJ経由でdate型としての突っ込み方を調べていなかったからです…。(まぁ、簡単に言うと手抜きです…ごめんなさい) というわけで、今回、Solrでdate型を利用することにしたのだけど、Solrのschema.xml的には
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
というような型の定義があると思うけど、これを
<field name="tstamp" type="tdate" stored="true" indexed="true"/>
という感じで利用する。記述フォーマットについてはSolrのorg.apache.solr.schema.DateFieldのJavaDocとか見れば良いと思うけど、ISO 8601に従う感じで、XML Schema にある、より厳しくした感じの正規化した日付表現で以下のような感じ。
- 1995-12-31T23:59:59Z
- 1995-12-31T23:59:59.9Z
- 1995-12-31T23:59:59.99Z
- 1995-12-31T23:59:59.999Z
Javaのコードで上記の文字とDateへの変換はorg.apache.solr.common.util.DateUtilを使えば良さそう。パースの方はDateUtil.parseDate(String)で良いと思うけど、日付から文字列へはDateUtil.getThreadLocalDateFormat().format(date)という感じでやればよさそう。FessではFessFunctionsで実装して、JSP上からも${fe:〜}で利用している。