私はLuceneで新しく、範囲内で文字列フィールドを検索可能にすることにいくつか問題があります。luceneの文字列フィールドの範囲を検索可能にする
私は、いくつかの文字列フィールドで構成されるドキュメントを持っています。一つは、フォーム
1.0、1.1、1.0-RC1 ...すなわちMAJOR.MINOR(-RCX)
バージョン文字列は、バッキングJavaクラスを持っている(版)実装を持っているCAバージョンです。匹敵します。
私のアナライザは、LowerCaseおよびWhiteSpaceアナライザで、アナライザラッパです。私は古典的なクエリパーサーで検索します。正確な条件での検索はうまく動作します。
クエリ:
は、私は何をできるようにしたいことはこれです "バージョン:[1.5 TO 1.0-RC1]" - リストの間でバージョンが一致するすべての文書と二つの値
と
含みますpsuedoquery:「someField:値とバージョン:最新」 - リストのすべての文書someField =値は、最新バージョン
私は何をしようとしたことは、インデックスの前にint型に私のバージョン文字列を変換することですが、クエリを有します入力を変換する必要がありますなんとなく、バージョン文字列は検索前にintになります。私は3次元でIntPointを実験しましたが、それはどこにもありませんでした。
バージョンフィールドのカスタムアナライザを実装する必要があるようですが、同様の例を見つけるのに問題があります。
誰かが正しい方向に私を指すことができたらそれはすばらしいでしょう!
ありがとうございます!