4.2で導入されたのはあくまでもschema.xmlの情報を取得するためのAPIでした。Fieldの一覧を取得するとか。4.4から、フィールドの追加(変更、削除はできない)ができるようになりました。フィールドの追加で、フィールドタイプなどの追加はまだできません。(できるようになるのかもわからないですが。フィールドの追加方法などはWikiに記載がありました。いうことで、簡単に試してみることに。起動方法exampleディレクトリの下にexample-schemalessというディレクトリが新設されています。ここに、スキーマレスモード用の設定がされているファイルが入っているので、こちらを利用します。start.jarログにいくつかWARNが出ますが、影響の内パス設定ミスなので無視してOKです。最初に定義されているフィールドは「id」と「_version_」のみになります。Browserなどで確認できます。APIでもいいですね。http://localhost:8983/solr/schema/fields)スキーマの更新さて、フィールドを追加してみます。PUTを利用すると1フィールドの追加が可能です。「fugatext」というフィールド名でフィールドを追加しています。今のところJSONのみ対応みたいです。APIで取得してみます。"uniqueKey":true}]}追加できました。ちなみに、同じフィールド名を追加しようとするとエラーが帰ってきます。"code":400}}設定の違いexample-schemalessのsolrconfig.xmlは以下の設定が通常のexampleとは異なるようです。schemaFactoryの設定schemaをAPIから変更可能にする設定です。これまでの変更しない設定の場合はClassicIndexSchemaFactoryを指定します。更新処理(update関連のリクエストハンドラ「/update」とか)には次のような設定が追加されていました。</requestHandler>「add-unknown-fields-to-the-schema」というupdate.chainが指定されています。このchainの定義自体は1669行目くらいに存在します。</updateRequestProcessorChain>使ってるUpdateProcessorはこんな感じみたいです。最後の2つはこれ用じゃないので省略。スキーマに定義されていないフィールドで、値がBooleanとしてパースできたら、Boolean型とする。スキーマに定義されていないフィールドで、値がLongとしてパースできたら、Long型とする。スキーマに定義されていないフィールドで、値がDoubleとしてパースできたら、Double型とする。スキーマに定義されていないフィールドで、値がDateとしてパースできたら、Date型とする。入力されたドキュメントの中でスキーマに定義されていないフィールド(静的、動的両方)を見つけた時に、フィールドの値の型を元にフィールド型をマッピングする。とここまで見てきたところで、スキーマレスという名前の意図がちょっとわかったかも。起動時には定義されてないフィールドをもったデータを登録してみます。boolean型で試してみることに。以下のデータを管理画面のデータ登録画面から登録します。"fuga":"100,200"}エラーは出ません。フィールド一覧を取得すると。"type":"booleans"}]}おー、最後にtitleが追加されてます。他にもfugaやpriceも。(日付は手を抜きました。詳細までは追いかけてないですが、こんなかんじです。フィールド追加が可能になるのはいいんじゃないでしょうか。SolrCloudの機能との関連もあるのかもしれません。ZooKeeperへの出力も実装されてそうなので。EDIT」_との記述があるので、修正するとなにかおきてしまうかもしれないですねぇ。現時点では、フィールドタイプの変更やフィールドの更新、削除に関してはSolrCoreの再起動などの手順が必要です。あと、変なデータ(タイプミスとか)が登録されたりしないかってのは気になりますね。