MarkLogic10の環境構築とデータ登録(QueryConsole,WebDaV)

MarkLogic10サーバの導入とデータ登録までを記事にしました。

##パッケージのダウンロード
　MarkLogic Server (GPU-enabled) x64 (AMD64, Intel EM64T) 64-bit Windowsを選んでダウンロードします。ダウンロード時にダイアログが出ますが、MarkLogic Community credentialsを作成する必要があります。
[　MarkLogic 10 インストールパッケージ ](https://developer.marklogic.com/products/marklogic-server/10.0)

##ライセンスについて
　MarkLogic開発者コミュニティにサインアップして参加するすべての人が開発者ライセンスを商用でなければ無料で利用できます。（期限は6か月ですが、更新可能とあります）
[　　Developer License](https://developer.marklogic.com/free-developer/)
##インストールについて
　インストーラ(MarkLogic-10.0-4-amd64.msi)を実行します。
　　<img width="153" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/3b244fc6-9103-2ab7-1058-c7dc2907f8cf.png">
　TYPICALを押下します。
　　<img width="156" alt="2.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/78385267-a1e9-f5f6-a7e3-6c9ca37e4fd9.png">
　インストールが完了すると下記にファイルが作成されます
　　`C:\Program Files\MarkLogic`

##MarkLogicサーバの起動方法および初期設定
　スタートメニューからMarklogic Serverを選択し、その中のStart Marklogic Serverを選択してサービスを開始します。
　　<img width="138" alt="3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/a74d5633-1c64-9d1e-b431-202ed2a5e609.png">

　ブラウザ(chromeがおすすめ)を起動し、`http://localhost:8001`にアクセスし管理画面にログインします。
　　<img width="272" alt="4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/86a282a1-cf41-557b-c268-d0c70a3f4bc6.png">
　OKを押して、次に進みます。クラスター設定はSKIPします。
　　<img width="381" alt="5.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/009f521f-f9cb-d0a1-561c-a2c69cf9b859.png">
　adminユーザを作成します。
　　<img width="356" alt="6.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/8cc7863f-bdf1-afa7-2d4f-dab5d64783c0.png">

　　[詳細マニュアルはこちらに公開されています](https://docs.marklogic.com/guide/installation-jp.pdf)

##フォレストとDBの作成
　Marklogicにおいてはフォレストを作成し、データベースと紐づけることでデータベースが利用できるようになります。

- フォレスト

　左のメニューバーでforests→create
　今回はforest name にsampleF1として名前をつけました。

　　<img width="321" alt="7.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/55058e54-342d-018b-59d6-0e6bfeb34b99.png">

- データベース

　左のメニューバーでforest→databeses
　今回はdatabese name にsampleDB1として名前をつけました。 

　　<img width="300" alt="8.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/e0473412-3ebe-22c6-d444-7f6cd8afa195.png">
　あとでWebDavのために`automatic`に変更しておきます。languageも`ja`にしておきます。
　　<img width="358" alt="9.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/b58931fc-ed1a-3f0b-88e2-c09ff0f5112b.png">

　createの際にスキーマを指定していなかったのでattachせよというメッセージが出ました。**Databese>forest**を押下します。
　　<img width="315" alt="10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/890bf266-2c54-c071-4d7e-0f4db96d9eea.png">
　先に作成した**sampleF1**に☑を入れattachします。
　　<img width="314" alt="11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/19686174-8c14-d21e-fccd-ea788d0baddd.png">
　CONFIGを確認するとattachされたことがわかります。
　　<img width="298" alt="12.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/807addb5-0bf7-e040-8d0c-600dc3a28eaf.png">

- ***Tips***　データベースのデータを全て消す
- 
　　forest→databeses→configeでclearを押すと消去されます。

　　<img width="283" alt="13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/ae8ae54f-b7bd-3a74-9ec9-4d75cf33a749.png">

##Query Consoleを使ったデータの登録
　ブラウザを起動し、`http://localhost:8000`にアクセスしクエリ―コンソール画面にログインします。
　ユーザとパスワードは管理画面で設定したものになります。
　　<img width="299" alt="14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/4acf31a4-e6a1-c9a4-8f56-24df67ec548b.png">

　それではデータベースにサンプルデータを登録します。
　　<img width="304" alt="15.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/f5332a57-ab69-e05c-e94e-009fa7063eee.png">
　　①databaseのプルダウンをsampleDB1に変更し、Query typeをXQueryに変更
　　②以下のクエリを書き、Runをクリック

```
xquery version "1.0-ml";
xdmp:document-insert(
"/helloworld.xml",
<root>
 <message>Hello</message>
 <message>World</message>
</root>
 )
```
　　
　Exploreボタンをクリックすると、下方のウインドウの一覧に/helloworld.xmlが表示されるのでそれをクリックすると先ほど登録したXMLを参照することができます。
　　<img width="319" alt="16.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/07c6fb81-468a-9d07-26b2-70a4976806d2.png">

 ***Tips***

　　Query Consoleの操作方法について少しわかりにくかったのでコメントを入れました。
　　<img width="422" alt="17.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/ccfbbe00-35c6-8c28-39a8-2fdfd08ca153.png">

##Webdavを使ったデータの登録
　　Marklogic Serverでは各種アプリケーションサーバ機能を持ってきます。今回はWebdavを使ってみます。

- Webdav
　左のメニューバーでGroups→Defaults→App Server→createWebdav
　　<img width="316" alt="18.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/384e8003-cb0e-cfaa-2d9a-c7786673c968.png">

　今回はServer name にWebshareとして名前を付けました。
　　<img width="317" alt="19.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/d0867381-b078-4bbb-909c-91907e653af9.png">

　　default userについてはセキュリティ要件もないのでadmin(admin)にします。
　　<img width="298" alt="20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/fbf2ec56-a665-6484-577c-f12e965cafeb.png">

　　OKをおすと左のメニューバー上にWebdavが表示されました。
　　<img width="313" alt="21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/516720d3-d920-01e9-e7e6-6ffff04088d2.png">

　　carotDAVからアクセスします。
　　[carotDAVの使い方はこちらを参照ください](https://qiita.com/kankigyo2/items/d86476fb41e578e66945)
　　<img width="281" alt="22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/5345e83f-a1d6-411b-7419-841c6873e6db.png">

　　ローカル上で新たにxmlを作成し、ドラッグアンドドロップでアップロードします。
　　<img width="246" alt="23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/28450680-f64a-ac57-fbb2-7932ea6a9ab5.png">
　　<img width="293" alt="24.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/db232793-84de-0fc1-5d53-c09d018297ee.png">

　　クエリ―コンソール上で、Exploreボタンを押すとこちらでも確認ができます。
　　<img width="346" alt="25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264141/c33be6d5-f746-4981-c1eb-b7f23d699fc5.png">

以上です。

###参考
---
 こちらの記事を参考にさせていただきました。有難うございました。
[MarkLogicでRaspberryPi3のセンサー情報を取り込んでみよう（1）MarkLogic9のインストール～DB構築まで]
(https://qiita.com/t2hk/items/309a2f7abd716c7fa823)