ConstantScoreRangeQuery
範囲が0.0.0.0
からである範囲のすべてのIPアドレスを検索するために使用しています255.255.255.255
。これは、ほとんどすべてのIPv4アドレスを検索しています。
すべてのIPアドレスを文字列に変換し、インデックスを作成しています。たとえば、2文字ごとに1オクテットになる0.0.0.0
ようになります。00000000
255.255.255.255
ffffffff
IPアドレスを検索するとき、次のようにクエリを作成しています。
ConstantScoreRangeQuery(fldIdStr, "00000000", "ffffffff", true, true)
IPv4とIPv6の両方を保存しています。このクエリはIPv6も返します。
Lucene(lucene-core-2.4.0.jar)2.4.0を使用しています。
IP範囲内のIPv4アドレスのみを取得するにはどうすればよいですか。