isGrep 全文検索+インクリメンタルサーチ

HOME HELP 新規メッセージ 新着記事 ツリー表示 スレッド表示 トピック表示 発言ランク 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

[トピック内全40記事(21-25 表示)] 全ページ数 / [0] [1] [2] [3] [4] [5] [6] [7]

■153 /inTopicNo.21)  Re[17]: 【提案】検索語入力中の過去入力履歴からのサジェスト・補完機能
    □投稿者/ nes 15回-(2018/03/10(Sat) 20:03:22)

      作者様

      補完・サジェスト候補機能、3週間ほど試してみました。

      とても良いです。
      これまで打ち溜めてあった入力履歴約2500件(下名の場合)のおかげで、
      大抵補完かサジェストが効いてくれてかなり快適です。

      大幅に打鍵数減らせましたし、
      誤爆・逆誤爆も起きにくくなったように感じます。

      以下これまでの気付き事項です。

      ■ サジェスト候補ヒット箇所ハイライト
      やっぱり何と言っても、isGrepなのでサジェスト候補もハイライトして欲しいです。

      ■ 履歴進む・戻る機能実装
      これも是非実装して頂ければ。
      (ついさっき入力した語で再度検索したいということがよくあるので)

      ショートカットキーは別にAlt+←/→でなくても構いません。
      (一般的なブラウザの進む・戻ると合わせておくと馴染みやすいかなと思ったので)

      ちなみに本機能は、サジェスト候補やAlt+↓のプルダウンすら出さず、
      Search欄の検索語だけが次々変わっていくイメージです。
      (過去の下名の提案書き込み見ると、明記してなかったようなので念のため)

      ■ Tabでサジェスト候補次々移動
      現状はTabは候補一覧へフォーカスが移るだけで、その後はカーソルキー移動が必要です。
      (現状はTab押していくと、Search欄 > サジェスト候補フォーカス > (次のサジェスト候補行かずに)AND欄 > Directory欄...)

      できればサジェスト候補上下移動もTab/Shift+Tabでできた方がIMEみたいで直感的かな?と思いました。
      AND欄やDirectory欄へは、Alt+AやAlt+Dで直接移動できるので。

      ※ただ、もしサジェスト候補をhit-a-hintライクにダイレクトに選択できるようになったら、あまり使わなくなってしまうかも知れません。。。

      ■ サジェスト候補をhit-a-hintライクにダイレクトに選択
      これ、できるようになるといいですね。

      方法としては、IME変換候補みたく、サジェスト候補頭に事前にアルファベット割振り、
      そのアルファベットでダイレクトに選べればいいかな?と思うのですが、
      どうやってそのアルファベット指定するかですね。

      - サジェスト候補にフォーカスある状態でのアルファベット単押し(自動発動有効だとぶつかるかも)
      - Ctrl+Shift+アルファベット等の3キー同時押し
      - 何らかのプレフィックスキー押した後、目当てのアルファベット押す2段階キーマップ式
      とかでしょうか?
      (カーソルキーで選びにいく手間考えたら3キー押しでもずっと楽のような気がします)

      ■ 打ち間違った入力履歴を簡単削除
      例えば、"moorea"を"morea"と打ち間違って検索してしまった場合や、
      "calendar"を"calender"等綴りミスしてしまった場合、
      (当然ですが)入力履歴に残ってしまい、
      次回以降、補完やサジェスト候補に出てきてしまいます。
      選んでも、当然何も検索結果が出ない or 誤った結果が出てくるだけなので消したいです。

      始めはPatternHistory.txtを直接編集すればいいかな?と思っていたのですが、
      PatternHistory.txtには、例え全く同じ検索語でも検索した回数分だけ重複していようとどんどん履歴が残っていくようで、重複分を探して消していくのが大変でした。

      例えば、サジェスト候補で消したい入力履歴にカーソル合わせ、
      Ctrl+DelとかShift+Delとかで簡単に消せる手段があるといいな、と思いました。
      (PatternHistory.txt自体にも重複検索語は保存しない方がいいのでは?)

      ■ PatternHistory.txtによく使う検索語を予め突っ込んでおくと便利
      これは本来の使い方とはちょっと違うかもしれませんが、
      よく使う長めの検索語リストや自分がよく使う打つのが面倒な用語集みたいなのを、
      PatternHistory.txtに予め突っ込んでおくと補完しまくってくれてかなり便利です。

      作者様のようにプログラム組まれる方であれば、
      長い関数名や命令一覧みたいなのを用意してここに突っ込んでおくと捗るのでは?

      ※理想的には、サジェスト候補選ぶ必要ないくらい入力履歴を自分でメンテしていくといいかも知れません。
      IMEでいえば正しい変換候補が一発で出てくれる、みたいな。

      nes


    → メール受信=ON / 引用返信 / チェック-

■155 /inTopicNo.22)  Re[18]: 【提案】検索語入力中の過去入力履歴からのサジェスト・補完機能
    □投稿者/ TaN 18回-(2018/03/17(Sat) 10:13:41)

      nes様

      フィードバックをいただきありがとうございます。

      私の方は最近あまり使う機会がなく、サジェスト機能の評価ができるほどの利用頻度がなかったりします。。

      > ■ サジェスト候補ヒット箇所ハイライト
      > やっぱり何と言っても、isGrepなのでサジェスト候補もハイライトして欲しいです。

      これは難しくありませんし、あったほうがいいかもしれませんね。

      > ■ 履歴進む・戻る機能実装
      > これも是非実装して頂ければ。
      > (ついさっき入力した語で再度検索したいということがよくあるので)

      個人的にはAlt+↓で選択、で十分なような気がするのですが。。

      > ■ Tabでサジェスト候補次々移動

      Tabキーのカスタマイズはちょっと難しいので、納得のできる別の手段が必要ですね。

      Alt+Shift+↓はやはり違和感あるでしょうか?
      候補が出ているときはカーソルキーで移動、というのもできないことはないと思いますが。。

      > ■ サジェスト候補をhit-a-hintライクにダイレクトに選択
      > これ、できるようになるといいですね。

      必要だという状況に至っていないので、まだ何も考えていないです。
      頂いた案を参考に後ほど検討してみます。

      > ■ 打ち間違った入力履歴を簡単削除

      確かにそれはありますね。
      PatternHistory.txtの保存方法の問題もあるかもしれませんが、仮にその問題を解決し、履歴を編集する機能を追加した場合、検索結果を求めることが本来の目的なのにそれ以外に時間をかけるというのはどうかなと思うところはあります。

      ご提案されているアイデアを発展して、PatternHistory.txtとは別にサジェスト候補用の辞書(データベース)を用意するというのも一つの解決方法かもしれませんね。
      isGrepはデータベースを使わない単純なgrepソフトですが、検索対象ファイルから語句を抽出してデータベースを作成し、それを検索の高速化のためではなく、サジェスト機能のために用意する、というのはこれまでにない新しい方法かもしれません。

      そのデータベースも検索対象のディレクトリごと(タブごと?)に用意するので、無駄な検索語が候補に挙がることはなくなります。

      これは良さそうな気がするので、検討してみたいと思います。
      ただ、この開発には時間がかかるのでその前に手軽に実現できるものがあったほうがいいでしょうか。。

      > ■ PatternHistory.txtによく使う検索語を予め突っ込んでおくと便利

      これは前項目の対応をすれば十分でしょうか?

      自分で書いておきながらあれですが、検索対象ファイルに"ab"で始まる単語が一つしかなければ"ab"と入力するだけで補完されて検索結果が出る、検索結果を見なくとも必要な(知りたい)検索語がわかるというのはいいかもしれませんね。(実際に使ってみないとわかりませんが、たぶん)
      逆に候補が出ないということは、"Searching"状態であっても結果を待たずとも無いということがわかる。
      (現時点で私が考えているのは英語のような単語単位でのデータベースなので)

      そういうソフトは使ったことがない・見たことがないので、本当にいいのか、意外と使えないのか実際に作ってみないとわからないですね。


    → メール受信=ON / 引用返信 / チェック-

■156 /inTopicNo.23)  Re[19]: 【提案】検索語入力中の過去入力履歴からのサジェスト・補完機能
    □投稿者/ nes 16回-(2018/03/20(Tue) 21:25:00)

      作者様

      返信が遅くなりすみません。
      お返事ありがとうございます。

      > > ■ 履歴進む・戻る機能実装
      > 個人的にはAlt+↓で選択、で十分なような気がするのですが。。

      Alt+↓だとプルダウンで検索結果が覆い隠されてしまい、見えないんです(T_T)
      (あと、一つ戻るのに、現状だと『Alt+↓ > ↓ > EnterかESC』と3動作必要なので、
      可能であれば1アクションで戻りたいというのもあります)

      > > ■ Tabでサジェスト候補次々移動
      > Tabキーのカスタマイズはちょっと難しいので、納得のできる別の手段が必要ですね。
      > Alt+Shift+↓はやはり違和感あるでしょうか?

      Tabでの移動は難しいのであれば大丈夫です。
      将来hit-a-hitライクにダイレクトに選択できるようになると、
      恐らく出番がほとんど無くなりそうなので。。
      現状はAlt+Shift+↓からのカーソルキーで使っていってみますね。

      > > ■ サジェスト候補をhit-a-hintライクにダイレクトに選択

      Tabでサジェスト欄へフォーカス > アルファベット単打で狙ったサジェスト候補を選ぶ、というのが、(入力負担も少なくシンプルで)一番いいのかな?と思っています。

      > > ■ 打ち間違った入力履歴を簡単削除
      > PatternHistory.txtの保存方法の問題もあるかもしれませんが、仮にその問題を解決し、履歴を編集する機能を追加した場合、検索結果を求めることが本来の目的なのにそれ以外に時間をかけるというのはどうかなと思うところはあります。

      確かにそれはありますね。
      ただ、入力履歴をうまくメンテしておけば、
      打鍵数を減らせ、かつ、誤爆・逆誤爆を低減できるという大きなメリットがあります。
      その為、(少々であれば)入力履歴のメンテに時間を割く価値はあるのかなと考えています。

      > ご提案されているアイデアを発展して、PatternHistory.txtとは別にサジェスト候補用の辞書(データベース)を用意するというのも一つの解決方法かもしれませんね。

      これは確かにいいですね。
      入力履歴と自分が用意した用語集は分けたいです。
      (混ぜこぜになってしまって、なんだかな~と思っていたので)

      > isGrepはデータベースを使わない単純なgrepソフトですが、検索対象ファイルから語句を抽出してデータベースを作成し、それを検索の高速化のためではなく、サジェスト機能のために用意する、というのはこれまでにない新しい方法かもしれません。
      > そのデータベースも検索対象のディレクトリごと(タブごと?)に用意するので、無駄な検索語が候補に挙がることはなくなります。

      これは、すごいアイデアですね。
      補完やサジェスト候補を検索対象から自動で生成してくれたら、
      それは恐ろしく便利になりそうな予感がします。

      なにせ今は"過去"入力履歴であって、
      一度打ったことがないと補完してくれない状態ですが、
      もし、これが検索対象から予め抜き出した語句を利用して、
      打ったことがなくとも補完・サジェストされるとなれば、
      なにかまた新たな次元に突入する気がします。
      (なにか本当にGoogle日本語入力のサジェスト機能に近いものを感じました)

      また、本件にも絡みますが、
      入力履歴はタブごとに分けて保持してくれた方がいいような気がしています。
      候補を局所化でき、より絞り込みやすくなるためです。

      現在は入力履歴は全タブ共通ですが、
      タブごとに入力する検索語は偏ることが多いのでは?と考えています。
      (タブを用途ごとに分けて使い分けることが多いと思うので)

      例えば作者様のようにプログラミングをされる方の場合、
      C言語の開発を"C言語"タブで、
      VisualBasicの開発を"VB"タブで使い分けていたとして、
      "C言語"タブで"VB"タブの入力履歴や補完候補出てきても
      ノイズになるだけで嬉しくないと思います。

      まとめると、タブごとに
      - 入力履歴
      - 自分で用意した用語集等の辞書ファイル
      - isGrep自動生成の語句抽出DB
      をもたせ、
      これらから補完・サジェストを行う、という感じでしょうか。

      もし実現すれば、さらに大幅に入力負荷を減らせる可能性があります。

      > ただ、この開発には時間がかかるのでその前に手軽に実現できるものがあったほうがいいでしょうか。。

      "Ctrl+Delで誤った入力履歴を削除"だけでもできればありがたいです。
      (ただ、もし本機能実装にお時間がかかるようであればなくても現状は大丈夫です)

      > > ■ PatternHistory.txtによく使う検索語を予め突っ込んでおくと便利
      > これは前項目の対応をすれば十分でしょうか?

      はい、前項目と内容がかぶるので一緒に考えた方がいいと思います。

      > 検索対象ファイルに"ab"で始まる単語が一つしかなければ"ab"と入力するだけで補完されて検索結果が出る、検索結果を見なくとも必要な(知りたい)検索語がわかるというのはいいかもしれませんね。
      > 逆に候補が出ないということは、"Searching"状態であっても結果を待たずとも無いということがわかる。

      なるほど。。。
      補完やサジェスト候補が出ない=検索結果がない、という状況にできれば、
      結果を待つ必要がなくなりますね。
      (検索結果を見ずとも必要な検索語が分かる、
      という発想が新しすぎて、下名、頭がまだついて行っていませんが。。。)

      nes


    → メール受信=ON / 引用返信 / チェック-

■157 /inTopicNo.24)  Re[20]: 【提案】検索語入力中の過去入力履歴からのサジェスト・補完機能
    □投稿者/ TaN 19回-(2018/03/21(Wed) 00:06:15)

      nes様

      お返事ありがとうございます。

      私があまり使い込んでいないため、余計な手間をかけさせているような気もしますが。。

      > > > ■ 履歴進む・戻る機能実装
      > Alt+↓だとプルダウンで検索結果が覆い隠されてしまい、見えないんです(T_T)
      > (あと、一つ戻るのに、現状だと『Alt+↓ > ↓ > EnterかESC』と3動作必要なので、
      > 可能であれば1アクションで戻りたいというのもあります)

      私があまり使わないせいもあるかもしれませんが、どうもピンときません。
      (おっしゃることは理解できているのですが)
      過去の検索結果を知りたい場合、私はどちらかと言うと、Alt+V, J、つまりJump Historyで探しています。これだと検索結果から再度探す必要もなく、過去にjumpしたところを再度エディターなどで直接開けます。

      結局、何のために必要なのか、というところが明確になっていないから(私がわかっていないから)ではないかと思います。
      「過去の検索語を(簡単に)Search欄に入力したい」が最終目的ではないですよね?

      > > > ■ サジェスト候補をhit-a-hintライクにダイレクトに選択
      >
      > Tabでサジェスト欄へフォーカス > アルファベット単打で狙ったサジェスト候補を選ぶ、というのが、(入力負担も少なくシンプルで)一番いいのかな?と思っています。

      確かにそれが一番いいかもしれませんね!

      > > > ■ 打ち間違った入力履歴を簡単削除
      > > PatternHistory.txtの保存方法の問題もあるかもしれませんが、仮にその問題を解決し、履歴を編集する機能を追加した場合、検索結果を求めることが本来の目的なのにそれ以外に時間をかけるというのはどうかなと思うところはあります。
      >
      > 確かにそれはありますね。
      > ただ、入力履歴をうまくメンテしておけば、
      > 打鍵数を減らせ、かつ、誤爆・逆誤爆を低減できるという大きなメリットがあります。
      > その為、(少々であれば)入力履歴のメンテに時間を割く価値はあるのかなと考えています。

      検索語が限られているのであればメンテに時間をかければかけるほど精度が高くなっていくので効果はあると思いますが、そういう状況が前提でしょうか。
      具体的に調べたわけではありませんが、仮に検索対象のテキストが1万行あった場合、検索語となりうる語が1千語あったとすると(10行に一語の割合で新語が出る)、メンテにかなり時間がかかるような気がするのですが。。

      > 入力履歴はタブごとに分けて保持してくれた方がいいような気がしています。

      確かにそれを感じることはあるので、検討したほうがいいかもしれませんね。

      > まとめると、タブごとに
      > - 入力履歴
      > - 自分で用意した用語集等の辞書ファイル
      > - isGrep自動生成の語句抽出DB
      > をもたせ、
      > これらから補完・サジェストを行う、という感じでしょうか。

      (まだ疑問点はありますが)仮に満額回答をすればそういう感じになりますね。

      > (検索結果を見ずとも必要な検索語が分かる、
      > という発想が新しすぎて、下名、頭がまだついて行っていませんが。。。)

      書き方が悪かったのですが、Googleサジェストと同じことですね。
      ただ、全文検索ソフトでそのような機能はないと思うので(探したこともないのであるかもしれませんが)、高速に検索結果を出すことも重要かもしれませんが、検索語の候補がすぐに出てくる、というのは有益ではないかと思います。
      (そうそう、知りたいのはこれ、みたいな)
      特に対象となるテキストが数GBもあるような場合は嬉しいような気がします。

      結局、nes様のリクエストを言い直しているだけのような気がします^^;

      技術的な余談になりますが、全文検索でデータベースを使った検索を行う場合、ヒット漏れがないように記号も含めてすべての文字をデータベースに突っ込む必要がありますが、補完機能に限定すればデータベースに必要な情報は減るのでディスク消費量や、データベース作成にかかる時間など、エコで嬉しいのではないかと思います。

      さて、データベースを自前で作ると時間がかかるので、適切なものを探さないと。。
      でも特化したものを自前で作ったほうが良かったりするのでこの段階で時間がかかります。。



    → メール受信=ON / 引用返信 / チェック-

■158 /inTopicNo.25)  Re[21]: 【提案】検索語入力中の過去入力履歴からのサジェスト・補完機能
    □投稿者/ nes 17回-(2018/03/21(Wed) 20:39:08)

      作者様

      お返事ありがとうございます。

      > 過去の検索結果を知りたい場合、私はどちらかと言うと、Alt+V, J、つまりJump Historyで探しています。これだと検索結果から再度探す必要もなく、過去にjumpしたところを再度エディターなどで直接開けます。

      すいません。
      こんな機能があることを初めて知りました。
      これは便利ですね。。

      一度開いたことがある結果なら、これ使うと簡単に開き直せますね。
      ありがとうございます。
      これから意識して使ってみます。

      > 結局、何のために必要なのか、というところが明確になっていないから(私がわかっていないから)ではないかと思います。
      > 「過去の検索語を(簡単に)Search欄に入力したい」が最終目的ではないですよね?

      たやすく検索語を戻したいのは、
      たやすく検索結果一覧を戻したいからです。
      (すいません。このことが作者様にうまく伝わっていないのかもしれません。
      最終目的は、ついさっきの"検索結果一覧"です。
      それをSearch欄の検索語をたやすく切り替えれれば得られるのではないかと考えています)

      作者様は検索語入力してみて、
      望む結果が得られなかった場合、
      ついさっきの検索語の検索結果一覧の方が良かった場合、
      どうされていますか?

      例えば、
      "moorea"という語で検索してみて、一応検索結果は出るもののちょっとしっくり来ない、
      "IncreMonji"ではどうかな? > 検索結果は空だった、
      やっぱり"moorea"でよかった、といった場合に、
      Alt+←でさっと戻りたいのです。

      ついさっきの"moorea"という検索語を打ち直すのも、
      (打ち直す負担や入力ミスの恐れ、誤爆・逆誤爆の危険があるので)補完が効くとしても避けたい。
      特に日本語の検索語の場合、日本語の入力コストは高いので(補完が効くとしても)なるべく打ち直したくない。
      また、ついさっきのもののために、あまり手数を掛けたくない、というのもあります。
      (検索結果選んでJumpしたわけではないので、Jump Historyも使えない)

      ちょうどGoogle検索をイメージして頂けると理解して頂きやすいかも知れません。
      検索語を色々変えてみて、さっきの検索結果の方が求めるものに近かった、だから戻したい、ということはありませんか?
      ブラウザでいえば、戻るボタン長押しすれば、プルダウンで過去の訪問履歴が出たりしますが、
      いちにこ前だと戻るボタン連打して戻していく方が
      「あー、これこれ、この結果の方がやっぱりいい」
      というのがやりやすくはありませんか?
      特に一つ前だと、戻る長押ししてプルダウンから選ぶ人の方が稀ではないでしょうか?

      現状をブラウザに例えれば、
      戻るボタンは押せず、
      必ず長押しからのプルダウンからしか戻れない状態です。

      Alt+↓だと検索結果一覧が覆い隠されて、
      望む検索結果だったか確認しづらいのも、提案させて頂いている動機の一つです。

      これができれば、検索かける際に検索語を色々変えてみてのトライ・アンド・エラーがかなりやりやすくなります。
      もちろん、「Alt+↓でいいやん」と言われるとそれはそうなのですが。。。

      Alt+↓なら3アクション、
      補完なら(上記例で言えば)"mo"で2アクション、
      Alt+←なら1アクションです。

      ※あまり皆さんこういうことされないんでしょうか?
      下名は結構そういう状況多いですが。。。

      > 検索語が限られているのであればメンテに時間をかければかけるほど精度が高くなっていくので効果はあると思いますが、そういう状況が前提でしょうか。
      > 具体的に調べたわけではありませんが、仮に検索対象のテキストが1万行あった場合、検索語となりうる語が1千語あったとすると(10行に一語の割合で新語が出る)、メンテにかなり時間がかかるような気がするのですが。。

      確かにそう言われてみると、入力履歴は放置してもいいような気がしてきました。。
      モグラたたきになり手に負えなくなりそうなので、目を瞑ったほうがいいかもですね。

      ただ、入力履歴メンテは別として、
      絶対に使わないであろう打ち損じが毎回出てくるのはかなり鬱陶しいため(Google日本語入力でも経験済み)
      あまりに目障りな入力ミスは簡単に削除できるようにしてもらえると有り難いです。
      (ちょっと消したいだけなのに、PatternHistory.txt開いて探して消して保存して、、、というのは、敷居がかなり高いです...)

      > ただ、全文検索ソフトでそのような機能はないと思うので(探したこともないのであるかもしれませんが)、高速に検索結果を出すことも重要かもしれませんが、検索語の候補がすぐに出てくる、というのは有益ではないかと思います。
      > (そうそう、知りたいのはこれ、みたいな)

      入力したこともないのにサジェストしてくれるなんて、
      下名はGoogle検索くらいしか知りません...。
      全文検索ソフトの枠を超えそうな気がします。

      > さて、データベースを自前で作ると時間がかかるので、適切なものを探さないと。。
      > でも特化したものを自前で作ったほうが良かったりするのでこの段階で時間がかかります。。

      いえいえ、時間がかかって当然と思います。
      どんなものになるのか、とても楽しみです。

      nes


    → メール受信=ON / 引用返信 / チェック-


<前のトピック内容5件 次のトピック内容5件>

このトピック内容の全ページ数 / [0] [1] [2] [3] [4] [5] [6] [7]

[このトピックの返信フォームへ]

HOME HELP 新規メッセージ 新着記事 ツリー表示 スレッド表示 トピック表示 発言ランク 検索 過去ログ

- Child Tree -
Powered by CJ Club