[Git] デフォルトエディタを変更する

設定されていない場合はデフォルトでviが立ち上がるらしい。

Git – Git の設定
https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA-Git-%E3%81%AE%E8%A8%AD%E5%AE%9A

[WordPress] 関連記事を表示するWordPressプラグイン

以下の記事を参考にYet Another Related Posts Pluginを入れてみた。

WordPress Related Posts – 関連記事を簡単に表示できるWordPressプラグイン | ネタワン
http://netaone.com/wp/wordpress-related-posts/

Yet Another Related Posts Plugin – 関連記事を表示するWordPressプラグイン | ネタワン
http://netaone.com/wp/yarpp/

[ソフト] Brackets – Adobeが出資するオープンソースのエディタ

手元のMacに入れてみた。無料のエディタを探している人は試してみたらいい。

Brackets – A modern, open source code editor that understands web design.
http://brackets.io/

Brackets was founded by Adobe as a community guided, open source project to push web development editors to the next level. Brackets is released under the MIT License.

[Mac] 余計なお世話のスマート引用を無効化する

設定で無効化できるとは言え、デフォルトで無効にしておいて欲しいよね。

MacでEvernoteを使うときにダブルクォーテーション(“)を勝手に変換させない設定 | vdeep
http://vdeep.net/mac-evernote-double-quotation

Evernote、今度はスマート引用符でトラブル!?|ささびず 中小企業診断士 佐々木孝のビジネスサイト
http://sasakitakashi.biz/2015/01/13/smart-quotation-were-the-causes-of-the-trouble-by-evernote/

Evernote、全角マイナスへの変換を防ぐ方法|ささびず 中小企業診断士 佐々木孝のビジネスサイト
http://sasakitakashi.biz/2013/11/20/method-to-prevent-conversion-to-full-size-minus-in-evernote/

MacのEvernoteでダブルクオート(“)ががってに変換されるのを防ぐ – Qiita
http://qiita.com/katamuki/items/2f3b2130a210011845ae

[MySQL] MySQLのテーブル定義をExcelに出力する

今参加している案件はドキュメントがほとんどない。そう不満をこぼしてばかりでは先に進まないので、自力でドキュメントを作り始めよう。テーブル数が多いので、このソフト見つけたときには少し震えた。

A5:SQL Mk-2 – フリーの汎用SQL開発ツール/ER図ツール .. 松原正和
http://a5m2.mmatsubara.com/

A5:SQL Mk-2 でMySQLのテーブル定義をExcelに出力する
https://usortblog.com/a5-sql-mk-2/

[Laravel] インデックスするデータを絞り込む (Laravel Scout)

デフォルトだとSearchableなModelの全カラムがインデックスされる。

インデックスしたくないカラムがある場合はSearchableのtoSearchableArray()を上書きして、リターンされる配列からそのカラムのデータを除外すれば良いらしい。

参考サイト

Laravel Scout – Laravel – The PHP Framework For Web Artisans
https://laravel.com/docs/5.4/scout#configuration

[Laravel] ElasticSearchとLaravel Scoutで全文検索 (3) – Kuromojiセットアップ

Kuromojiは日本語の形態素解析ライブラリ。これ無しだと、日本語が分かち書きされない状態でインデックス化されてしまうので、日本語の単語で全文しようとしてもうまくヒットしないのだろうと想像する。

Kuromojiに関しては以下の説明が明るい。

Elasticsearchを日本語で使う設定のまとめ – Qiita
http://qiita.com/shin_hayata/items/41c07923dbf58f13eec4

Kuromojiのインストール

kuromoji – japanese morphological analyzer
http://www.atilika.org/

Japanese (kuromoji) Analysis Plugin | Elasticsearch Plugins and Integrations [5.5] | Elastic
https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-kuromoji.html

ElasticSearch同梱のユーティリティを使ってインストールする。

Kuromojを設定する

公式サイトを眺めてみたんだけど、はっきりと「設定はコレ」みたいな記事がない。

以下の記事がちょっと古いんだけど設定ファイルの記述があったのでなぞってみる。

Elasticsearch に kuromoji を入れて日本語全文検索をする – Qiita
http://qiita.com/mserizawa/items/8335d39cacb87f12b678

設定ファイル編集してElasticSeachを再起動したらログにエラーが出た。

API経由でインデックスごとに設定しろということらしい。

インデックスの変更前にはインデックスを一旦クローズする必要がある。そして設定を変更してから、インデックスを再度オープンすることで、新しい設定でインデックスが使えるようになる。これ少しハマったので以下記事を覚書リンク。

elasticsearch – error when trying to update the settings – Stack Overflow
https://stackoverflow.com/questions/19758335/error-when-trying-to-update-the-settings

これで設定が変わったので、古い設定のまま作成されているインデックスをいったん削除する。

再び記事をElasticSearchに流し込む。

インデックスのサイズを比べてみる。Kuromoji追加前のインデックスは記事12件で183KB。

Kuromoji追加後のインデックスは記事12件で292.9KB。

形態素解析により日本語が分かち書きされてインデックスされた結果だろう。

日本語の単語で検索したら今度はちゃんとヒットした。良さげ。

[Laravel] ElasticSearchとLaravel Scoutで全文検索 (2) – Laravel Scoutセットアップ

ElasticSearchのセットアップができたので、ここからはLaravel側のセットアップ。

Laravel Scountの組み込み

Laravel Scout – Laravel – The PHP Framework For Web Artisans
https://laravel.com/docs/5.4/scout

Laravel Scout Elasticsearch Driver
https://github.com/ErickTamayo/laravel-scout-elastic

 

これでセットアップは完了。

ElasticSearchへ既存データ注入

公式ドキュメントで説明されている通り、Laravel Scoutを組み込んだ状態だと、Eloquentでレコード追加/更新/削除を行うとElasticSearchも併せて更新されるようになる。しかし、ElasticSearch組み込み時点で既に存在するレコードは手動でElasticSearchに流し込まないといけない。

というわけで、既存レコードをElasticSearchに流し込む。

ElasticSearchのインデックスを確認。

コントローラから検索してみる

記事本文に含まれる日本語の単語を入れてみると、検索されるものあり、されないものあり。どうも挙動がおかしい。おそらく日本語の処理が上手くいっていないのだろう。

Kuromojiのセットアップへ続く。