Solr 4.5.0 Changesを簡単に訳してみた(RC5に入っていたもの)
- Apache Tika 1.4
- Carrot2 3.8.0
- Velocity 1.7 and Velocity Tools 2.0
- Apache UIMA 2.3.1
- Apache ZooKeeper 3.4.5
Carrot2のバージョンが4.4から変更されている
- XML設定のパースをより厳密に。単一設定について複数の値が見つかった場合に厳密にチェックする。以前は、1つの設定が任意に静かに選ばれていた。4.5からは、設定のパースでこのような状況ではエラーになるでしょう。もし、"solrconfig.xml contains more than one value for config path: XXXXX"や"Found Z configuration sections when at most 1 is allowed matching expression: XXXXX"といったエラーが出た場合は、solrconfig.xmlをチェックして複数存在する項目を削除しましょう。詳しくはSOLR-4953やSOLR-5108を見てください。
- 以前は、 schema.xmlのパースで、に指定された"default"や"required"オプションは静かに無視していました。4.5からは、dynamicフィールドでこれらの設定がなされている場合、initエラーが発生します。もし、既存のschema.xmlを使ってアップグレードしてエラーが発生した場合は、これらの属性を削除してください。以前のバージョンでこれらがあっても正常に動作します。詳細はSOLR-5227を見てください。
- UniqFieldsUpdateProcessorFactoryをFieldMutatingUpdateProcessorFactoryセレクターオプションのすべてをサポートするように改良しました。のinitパラメータオプションは非推奨(deprecated)になり、よりスタンダードなに置き換わりました。詳細はSOLR-4249を見てください。
- UpdateRequestExtはSOLR-4816により削除されました。かわりにUpdateRequestを使ってください。
- CloudSolrServerが、ドキュメント追加時にデフォルトでマルチスレッドを使うようになりました。これは、バルク追加メソッドを使う時の実行時の小さな変更です。もし同じ例外が最後に発生したら、いくつかのドキュメントがエラーになっているかもしれません(?自信無し)。昔の単一スレッドでの挙動ではCloudSolrServerインスタンスで並列更新したときに失敗します(??自信無し)
- SOLR-5219: クラスタリングアルゴリズムのデフォルト検索、ドキュメントの選択部分のリライト
- SOLR-5202: Carrot2クラスタリングの属性を簡単に上書きできるサポートを追加
- SOLR-5126: Carrot2クラスタリングのバージョンを3.8.0に、Morfologikを1.7.1に
- SOLR-2345: 拡張geodist()をRPTフィールドで動作するように変更。
- SOLR-5082: URLエンコードのエンコーディングをieパラメータで変更可能に。デフォルトはUTF-8。POSTするドキュメントエンコーディングの変更にはHTTPヘッダのContent-Typeを使う。
- SOLR-4221: カスタムシャーディング
- SOLR-4808: router、replicationFactor、maxShardsPerNodeをコレクション、シャードレベルで利用、永続化可能に
- SOLR-5006: CREATESHARDコマンド追加。カスタムシャーディング用 (Noble Paul)
- SOLR-5017: フィールドの値を元にしたシャーディングを可能に
- SOLR-4222: コレクションAPI経由でカスタムシャードコレクションを作成可能に
- SOLR-4718: solr.xmlをZooKeeperに保存可能に
- SOLR-5156: ZkCLIをZKにファイルアップロードできるように改良
- SOLR-5165: 単一値のdocValueフィールドでデフォルトを必須ではなくする。sortMissingFirst、sortMissingLast、facet.missing、exists()関数、クエリも動作するように。
- SOLR-5182: NoOpRegeneratorを追加。カスタムセグメントに対するregeneratorで、アイテムがコミットで保存されるのをキャッシュする?(詳細読まないとわからない)
- SOLR-4249: UniqFieldsUpdateProcessorFactoryをFieldMutatingUpdateProcessorFactoryのextendsにして、そのselectorオプションを使用可能に。fieldNameを非推奨とし、かわりにfieldsの初期化パラメータを使用するように。
- SOLR-2548: ファセット処理をマルチスレッド可能に。スレッディングするときは、facet.threadsにuninvertedフィールドをロードして並列処理する。極端な場合、処理時間が20秒が3秒に。
- SOLR-4816: CloudSolrServerが内部ノードの更新フォワーディングに依存せずにルーティング可能に。
- SOLR-3249: CloudSolrServerとSolrCmdDistributorでJavaBinを利用可能に。
- SOLR-3633: 管理UIでCoreAdminHandlerのSolrCoreを持っていないというエラーを報告可能に
- SOLR-4489: SpellCheckComponentが複数のword-breakを含む場合にStingIndexOutOfBoundsExceptionを発生するバグの修正
- SOLR-5087 - CoreAdminHandler.handleMergeActionでNullPointerExceptionが発生したバグの修正
- SOLR-5107: LukeRequestHandlerでnumTerms=0の時に発生するNPEを修正
- SOLR-4679, SOLR-4908, SOLR-5124: HTMLやPDFにファイルからSolrCellで無視可能な空白を見逃していたバグを修正。文字化けとかしてたみたい。
- SOLR-5121: zkcliのヘルプの修正
- SOLR-5119: SchemaREST API経由でフィールド追加後にManaged Schemaに発生する問題の修正
- SOLR-5133: HdfsUpdateLogでinitを複数回呼び出した時にcloseに失敗するバグの修正
- SOLR-5135: ZooKeeperノードのCollectionAPIによる削除バグの修正
- SOLR-4764: NRT使用時に、IndexWriterから最初にreaderを初期化する
- SOLR-5122: spellcheck.collateMaxCollectDocsのバグフィックス。オプティマイズされてないインデックスで0除算のリスクがあるため。
- SOLR-3936: Grouping使用時にQueryElevationComponentのソートでバグ
- SOLR-5171: 管理UIがIE9で動いてIE10で動かないバグ
- SOLR-5174: 管理UIクエリビューでHTMLタグが含まれるjsonがハイライトできないバグ
- SOLR-4817: SolrCloudモードでsolr.xmlの後方互換が壊れているバグ
- SOLR-5112: 管理UIでロギングビューにメッセージを全部表示するように
- SOLR-5190: SolrEntityProcessorで子供のエントリが1度だけの時のバグ修正?
- SOLR-3852: SolrCloud管理UIでZKがutf8文字でないデータを持っている時に、ZookeeperInfoServletがおかしくなるバグの修正
- SOLR-5206: OpenExchangeRatesOrgProviderでrefreshIntervalを使った時のバグ修正
- SOLR-5215: ZooKeeperの接続マネージャでデッドロックの可能性があるバグを修正
- SOLR-4909: 非NRTモードで、DirectoryReader.openIfChangedを使うように。この変更でsolrconfig.xmlのreopenReadersというタグがntrModeというタグに変更されてる
- SOLR-5227: ダイナミックフィールドがdefaultやrequiredオプションが設定された場合にschema初期化時にエラーを発生するように修正
- SOLR-5231: BoolFieldの振る舞いに関するバグの修正。if関数でのtrueの値の取り扱いのバグ?
- SOLR-5233: コレクションAPIの"deleteshard"がクラスタ状態の更新されるのを待っていないバグ修正。
- SOLR-5150: HdfsIndexInputが要求されたバイトをちゃんと読んでいないバグを修正
- SOLR-5240: すべてのSolrコアを並列にロード可能に。zookeeperモードで。デッドロック回避しながら。
- SOLR-5243: コレクションにあるシャードの1つを削除した時に、同じコアノード名があると異なるコレクションでリーダに選出されてしまうバグの修正。
- SOLR-5281: IndexSchemaログメッセージにコア名でなく、nullとプリントされる
- SOLR-5279: コアリロード時に、暗黙的なプロパティが存在しなくなってしまう
- SOLR-5044: 管理UI。コア生成時にディレクトリに関して表示
- SOLR-5134: HdfsIndexOutputをBufferedIndexOutputの拡張に。
- SOLR-5057: QueryResultCacheがfqのリストの順序に依存しないように
- SOLR-4816: CloudSolrServerでデフォルトでマルチスレッドで更新を送信するように。
- SOLR-4708: collection1のexampleでクラスタリングコンポーネントをデフォルトで利用可能に。solr.clustering.enabledシステムプロパティにtrueをデフォルトで設定。
- SOLR-4914, SOLR-5162: コアリストの永続化、探索をCoresLocatorインタフェースに追加
- SOLR-5056: ConfigSolrクラスの型安全を改良
- SOLR-4951: SolrのテストにMergePolicyのランダマイズを改良
- SOLR-4953, SOLR-5108: XMLコンフィグパースで、単一値やpluginインスタンスが複数マッチしたらエラーに6. shard.keysルーティングパラメータを非推奨に。新しく
_route_
パラメータに。