質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Q&A

解決済

4回答

2374閲覧

teratail の過去遺産をもっと活用したい

退会済みユーザー

退会済みユーザー

総合スコア0

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

13グッド

7クリップ

投稿2017/09/14 13:47

自身でした質問への回答や、回答の際に引用したサイト等、ふと確認したいタイミングがあるのですが、現在の teratail の検索窓では、そういった使用方法は想定していないようです。

自身が関わった質問(質問した/回答した/コメントした/評価した)に対しての検索を実施するにはどのように行うと、効率よく情報を引き出せるでしょうか?

今は、google でsite:teratail.comを指定して、思い出せる範囲のキーワードで検索しているのですが、あまり効率の良い結果は得られていません。

うまい方法があれば、ご教示意いただきたく、お願いします。

matobaa, aaaaaaaa, ai_2013_dev, NCC1701, kei344, motuo, can110, SVC34, mkgrei, LouiS0616, 他3名👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

teratailにはAPIがあるので利用されてはいかがでしょうか?

ドキュメントを見たところ、質問内容に近いことができそうです。
http://docs.teratailv1.apiary.io/#introduction

curlでAPIを叩き、jsonをパースするだけなのでここで培った知見が役に立つのではないでしょうか?

あとで読む系のPocketinstapeperのAPIと連携させればURLのクリップが自動化できたり

webクリップのEvernoteのAPIと連携して、過去の資産を全部ノート化するのも面白そうです。

投稿2017/09/14 14:58

satena

総合スコア109

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/15 03:54

たしかに自作もありですね。 あんまり考えてませんでした。 ありがとうございます。
guest

0

TeratailAPIのお題が少し面白かったので、過去の自分の回答から特定のワードを含む質問のIDを取得する機能をPHPで作ってみました。
もうちょっと作りこめば、それなりに使えるものになるかもしれません。
自分以外の人も検索できるようにしたり、質問も検索したり、回答内容の一部を表示したり…

パパっと作ったので、何か突っ込みがあればコメント頂けると嬉しいです。

###リクエストページ(検索ワード入れて検索)

HTML

1<html> 2 <form method="POST" action="searchMyAnswes.php"> 3 <input type="text" name="searhWord"> 4 <input type="submit" name ="sub"> 5 </form> 6</html>

###APIを使って過去の自分の回答を検索する。

PHP

1<?php 2 if (!isset($_POST['searhWord']) || trim($_POST['searhWord']) === ''){ 3 echo '検索ワードを入れて。ブラウザバックで戻って'; 4 return; 5 } 6 $searchWord = $_POST['searhWord']; 7 $getTeratailAPI = new getTeraTailAPI(); 8 $getTeratailAPI->getMyAnswers($searchWord); 9 10 class getTeraTailAPI 11 { 12 /*** 13 * APIを使って自分が回答した内容を検索する 14 */ 15 public function getMyAnswers(String $searchWord){ 16 $resultArray = $this->callAPI(); 17 $meta = $resultArray['meta']; 18 //リクエストに失敗したら処理終了 19 if($meta['message'] != 'success'){ 20 echo $meta['message']; 21 return; 22 } 23 $returnQuestions = $this->searchWord($resultArray['replies'], $searchWord); 24 //回答を100件以上していたらページネーション 25 if($meta['hit_num'] > 100){ 26 $page = ceil($meta['hit_num'] / 100); 27 for($i=2;$i<$page+1;$i++){ 28 $resultArrayAdds = $this->callAPI($i);//2ページ目以降 29 $returnQuestionsAdded = $this->searchWord($resultArrayAdds['replies'], $searchWord); 30 $returnQuestions = array_merge($returnQuestions, $returnQuestionsAdded); 31 } 32 } 33 //画面に質問番号を一覧で表示 34 foreach ($returnQuestions as $value) { 35 echo $value.nl2br("\n"); 36 } 37 } 38 /** 39 * 実際にAPIを実行する処理。取得結果を配列にデコードして返却 40 * @param type $page 41 * @return type APIをJSON_DECODEした結果 42 */ 43 private function callAPI($page=0) { 44 $username = 'motuo'; 45 $access_token = 'your access token'; 46 $url = 'https://teratail.com/api/v1/users/'. $username .'/replies?limit=100'; 47 if($page){ 48 $url .= '&page='.$page; 49 } 50 $curl = curl_init(); 51 curl_setopt($curl, CURLOPT_URL, $url); 52 curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET'); 53 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 54 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない 55 curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$access_token)); 56 57 $result = curl_exec($curl); 58 curl_close($curl); 59 return json_decode($result,true); 60 } 61 /** 62 * 配列内から検索ワードに該当する質問IDを配列で返却 63 * @param array $replies 64 * @param String $searchWord 65 * @return array 66 */ 67 private function searchWord(Array $replies,String $searchWord) { 68 $questions = []; 69 foreach ($replies as $value) { 70 if(strpos($value['body'],$searchWord)){ 71 array_push($questions, $value['question_id']); 72 } 73 } 74 return $questions; 75 } 76 } 77?>

投稿2017/09/15 02:14

編集2017/09/15 02:30
motuo

総合スコア3027

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/15 04:08

作成ありがとうございます。
guest

0

ベストアンサー

御自身が関わっておられる回答であれば、御自身のIDで検索すれば抽出可能です。
タグで抽出したいときは、Myタグなどの何らかのタグをクリックすれば抽出されます。
但し、タグはフィルタリングだけで、キーワード検索の対象ではないようです。

その他には、御自身の回答の隅やコメントにでも検索したいキーワードをMyルールで入れておくなど。
自分にとっての重要度なんか良さそうですよね。A,B,C,S,S+とか。

書き忘れてましたが、クリップは当然ご存知ですよね。

投稿2017/09/14 14:41

編集2017/09/14 15:28
sazi

総合スコア25197

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2017/09/14 15:22 編集

低評価された方は理由をコメントして貰えたら嬉しいです。 何だろ?タグの事かな?
退会済みユーザー

退会済みユーザー

2017/09/15 03:50

自分の ID って、ちゃんとキーワードとして認識されるんですね。 いくつか検索した時に、うまく拾えなかったので機能しないものだと思っていました。 ex) 「te2ji OpenSSL」 で「amazon linux へ OpenSSL 1.0.2 を導入する方法」って質問が検索できないんです。 検証していないのですが、組み合わせた方のキーワードが認識されなかったのかもしれないですね。 かなり検索したい箇所への到達が早まりそうです。 ありがとうございました。
sazi

2017/09/15 04:29

「amazon linux へ OpenSSL 1 0 2 を導入する方法」のようにドット(.)を入れなければHITしました。 ただ、このキーワードでもIDを組み合わせるとHITしなくなります。 この記事はID入れてもHITするので、タイトルと本文の検索で何かしら条件が違うのでしょうね。
motuo

2017/09/15 04:36

横からスイマセン。 どうも、古い過去データは検索できない様ですね。アクティブから探しているのかもしれません。 ユーザーIDだけで検索しても、ヒット数はやたらと少ないですしね。 もちろん、googleで検索するとヒットするようです。
sazi

2017/09/15 04:55 編集

成程。そうすると過去記事の検索用のユーザIDは別物になっているということになりますね。 じゃあ、or 検索ならとやってみましたが、件数が多すぎるようでエラーになりましたOTZ
退会済みユーザー

退会済みユーザー

2017/09/15 06:50

私の古い質問に関して、検索結果を確認してみました。 【phpによるリンク切れチェック手法の最適解は? 2016/03/27 22:49 投稿】 タイトルのみ ○ タイトルとユーザ名 ☓ 2番めに古い投稿です。 【Amazon Linux で mod_evasive が効かない。。。 2016/01/09 13:10 投稿】 タイトルのみ ☓ タイトルとユーザ名 ☓ 1番古い投稿です。 1年半ぐらいのところにしきい値があるんですかね?
motuo

2017/09/15 06:57 編集

「mod_evasive が効かない」だと検索できますね…「Amazon mod_evasive が効かない」だと検索できない。さらに、「Amazon mod_evasive」でも検索できない。 法則性が良く分からないですね。
sazi

2017/09/15 06:57

もうそうなると、ブラウザのブックマークで整理していくしか無いですね。 カテゴリ別とか重要度別とか視点を切り替えたもので整理しておく。。。 限りなく面倒くさいですね。OTZ
motuo

2017/09/15 07:01

それか、APIを使って自分にとって都合の良い検索システムを作るかですね。スキルと好みの問題、というところでしょうか…
sazi

2017/09/15 07:05

運営さんがここ見て改善してくれるのが一番ですけどね。 意見で出してもフィードバックが無いので、どう扱われているかも分かりませんし。
motuo

2017/09/15 07:09

運営さん、teratailタグ付いてるのは見ているらしいですよ。(集まっtailで言ってました) 改善してくれるかどうかは、また別の話ですが… 最近、色々とアップデートしているみたいですし、大きな声になれば、機能追加があるかもしれませんね。
guest

0

teratailの中で過去事例を探すよりも、
ふつうにインターネット上で有用な事例を探した方が楽に回答できること。
(Google先生、Qiita先生、などなど。)

有用な事例を見つけたときにwebブラウザのブックマークや、
ソーシャルブックマークサービスの類に登録したりしているので、
そこから引き出したほうが早いこと。

以上の理由から、
teratailに検索機能の高度化をそんなに求めてないです。

まぁ、ユーザーページ内
(例えば https://teratail.com/users/m6u とかって)
で検索できると面白いかもしれませんけど。

自分が楽に回答するための工夫まで、
teratailに求めないでしょう。

余談ですが、
掲示板開発質問ネタが後をたたないので、
鉄板回答まとめみたいなのを作っとけば、
ある種のそうにはヒットしそうですが。

投稿2017/09/15 01:04

編集2017/09/15 02:52
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/09/15 04:03

質問が増えてくると、タイトルもあやふやだったりするんで、やっぱり全文検索が欲しくなるんですよねぇ。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問