質問するログイン新規登録

回答編集履歴

1

2019/07/27 07:57

投稿

takasima20
takasima20

スコア7468

answer CHANGED
@@ -1,5 +1,3 @@
1
- //見てないかもしれませんが
2
-
3
1
  ブラウザを使った検索システムを作っている。
4
2
  サーバー側の開発環境は PHP を使用している。
5
3
  その中から既存の Python スクリプトを呼んでいる。
@@ -29,4 +27,33 @@
29
27
 
30
28
  背景が分からないのでとりあえずこのくらいで。
31
29
  自分なら案2をとりますが、開発になれてない場合は…
32
- がんばってください。
30
+ がんばってください。
31
+ --- 追記 ---
32
+ //了解しました。つまり実験的なものを作っているってことスね。
33
+
34
+ データをcsvで保持し、その中から該当するものを抜き出す
35
+ という発想は少量の場合はOKでも大量になると使えないでしょう。
36
+ で、csvはある程度元の形をとどめなくても大丈夫ですかね?
37
+
38
+ まず、csvの分割ですがハッシュを利用します。
39
+ 図書館方式といってもいいかもしれません。
40
+ 分野や作者別に分類し、そのようにcsvを分割します。
41
+ それでもまだ粒度が足りない場合は、さらに発行年代別に分割します。
42
+
43
+ 一般的にハッシュといった場合、特定の項目の値を計算し
44
+ 結果を元に分類する方式を指すことが多いようですがね。
45
+ 例えば10で割った余りによって分類するとか。
46
+
47
+ 次に、シリアライズを考えます。
48
+ csvは(いわゆる)テキストファイルなので読み込みが遅いです。
49
+ Python でも PHP でもいいのですが、配列オブジェクトを
50
+ 各言語で理解しやすい形で出力しておき、利用する際は
51
+ それを読み込んで使います。
52
+
53
+ あとは、各csvファイルのプロパティ的な情報をペアで生成しておき
54
+ ある程度はcsvを読まなくても対応できるようにしておく
55
+ とかですかね。
56
+
57
+ ポリシーとかもあるでしょうから、どこまでやるかは
58
+ 自分で決めてください。CODASYL型のDBMSみたいなやつの
59
+ 参考書とかあったらいいんでしょうけど、いまだとむりかなあ。