検索インデックスで、特定のフィールドのブースト値の追加または修正が必要となる場合があります。例えば、以下の定義を次のように変更する場合などです。
変更前:
<field fieldName="parsedlanguage" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="1f" type="System.String" ...>
変更後:
<field fieldName="parsedlanguage" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="2f" type="System.String" ...>
しかし、このように変更したにもかかわらず、問題のフィールドに対して検索クエリを実行する際、フィールド ブースト値が1fのままとなり、検索結果が構成したパラメータ通りにソートされないことがあります。
これは、検索の構成パーサが2fのような文字を含む数字を処理できず、デフォルト値である1fにフォール バックしてしまう問題により発生します。
Luceneにおけるスコアリングおよびブースティングの詳細については、以下の記事を参照してください:
http://lucene.apache.org/core/3_6_2/scoring.html
この問題を解決するには、以下のように、浮動小数点の形式でブースト値を指定してください:
<field fieldName="parsedlanguage" storageType="YES" indexType="TOKENIZED" vectorType="NO" boost="2.0" type="System.String" ...>