Fess 13.10.1のリリース

Fess 13.10.1をリリースしました。今回のリリースでは、設定のテンプレート機能とクエリーの重み付けの調整をしてます。

クロール設定を作るときに、同じような設定で作ると結構面倒なので、__TEMPLATE__という名前でクロール設定を作っておくと、それをテンプレートとして利用して、クロール設定を作ることができます。

クエリーの重みの見直しはdocsearch.codelibs.orgで使っているものと同じにして、タイトルを強めに見るようにしました。その他には、英語圏だと日本語よりtypoの頻度が高い感じしていて、実際にもtypoに当たらないとも言われるのもあり、fuzzyクエリーも追加して、英数字の単語にはtypoにもできるだけ当たるようにしました。これの重みは低いので、これらが上位に来ることはないとは思いますが。

その他としては、PythonJobというの入れて、pythonコマンドをスケジュールから実行できるようにしました。今後の実験的な機能なので、すぐに使えるようなものではないかもしれませんが…。

という感じで、何かあればフォーラムをご利用ください。

ブースト値の見直し

docsearch.codelibs.orgをChromeのデフォルト検索として使っていると、あれこれと細かい検索品質調整がしたくなる今日この頃。まずは、docsearch.codelibs.orgで適用していたtitle, content, title_xx, content_xxのブースト値をFessにも反映しました。今後、タイトルに含まれる単語が優先されると思いますが、検索結果としてはこれくらいのほうが自然かなと思っています。環境によると思うので、この辺はfess_config.propertiesのquery.boost.*のあたりの値を調整してください。

そして、important_contentというフィールドも昔からあるのですが、昔はlangfieldプラグインで調整した感じだと思いますが、langfieldプラグインをやめて以降、使われない感じになっていました。本来はここに重要な単語を入れて検索結果をブーストする目的なのですが、今回は利用するように変更しました。でも、デフォルト値は-1.0にして、使われないようにしてあるので、使う場合には再インデックスしてから0以上の値を入れて調整してください。

さらに、docsearch.codelibs.orgで検索していると、英語系だとtypoしたときにヒットしないので、Fuzzyクエリーの検索結果も含めるようにしました。低いブーストなので、これでヒットした値は、検索結果の上位には出てこないとは思いますが、ヒット件数が少ないときとかはtypoもヒットしてくるようになると思います。日本語はbi-gramになっているので、この対象にならないと思いますが…。

という感じの検索品質改善を行いましたが、検索品質は対象のドキュメントにもよるので、この辺のブーストは、query.boost.*あたりで環境に合わせて調整する必要があるので、この辺の調整をしないで、Fessの検索品質が悪いとか言わないようにしてくださいね 🙂

新規クロール設定をテンプレートから作る

ググるとゴミが多い問題を何とかするために、docsearch.codelibs.orgを使いつつ、Fessの機能改善も行っていっていますが、クロール設定を追加していくときに、他の設定をコピーして作っていくのが面倒な感じでした…。前からこの問題があるのは認識しているけど、今回、クロール設定の名前を__TEMPLATE__という名前で設定を保存しておけば、新規に作成するときには__TEMPLATE__のクロール設定から設定を作る、というのを追加してみました。これで、クロール設定を追加するときに楽になるかなと…。