
はてなキーワード:全文検索とは
と質問とした所、
いい質問。ただ、**今回私が提示したC#コード(MemoryMappedFile + Parallel.For でCR を数える)**には、明確に一つの「このネット上の記事/リポジトリをそのままコピーした」元ネタはありません。
いくつか似たアイデアを使ってる部分と参考になる記事/ドキュメントはあるので、それらを紹介します:
---
*Microsoftドキュメント — Memory-Mapped Files (.NET)*
([Microsoft Learn][1])
*Kieren Johnstone: 高速に MemoryMappedFileからバイト列を読む方法(StackOverflow)*
`MemoryMappedViewAccessor` を使って unsafeコードからポインタを取得し、Marshal.Copy で効率よく読み出す方法。
([StackOverflow][2])
*Red-Gate: Sharingis Caring: Using Memory Mapped Files in .NET*
MemoryMappedFile を使ったキャッシングなどの応用。
*Stephen Cleary のブログ: Memory-Mapped Files と Overlaid Structs*
メモリマップトファイルへ構造体を重ねて(オーバーレイ)扱う方法など。
([blog.stephencleary.com][4])
---
もしよければ、**あなたのコード(CR を数えるもの)に特化した元ネタをさらに探してみます**。やりましょうか?
[1]:https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[2]:https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[3]:https://www.red-gate.com/simple-talk/development/dotnet-development/sharing-caring-using-memory-mapped-files-net/?utm_source=chatgpt.com "Sharingis Caring: Using Memory Mapped Files in .NET"
[4]:https://blog.stephencleary.com/2023/09/memory-mapped-files-overlaid-structs.html?utm_source=chatgpt.com "Memory-Mapped Files and Overlaid Structs"
ChatGPT:
が、出てきて、やってくれと言ったら、こういうのが出てきた。
了解しました — 広く(英語・日本語・GitHub・ブログ・StackOverflow 等)再検索しました。結論と見つかった“近い”ソースをまとめます。
結論(要点)**
「あなたが求めている**MemoryMappedFile を使い、UTF-8バイナリ中の `CR`(0x0D)だけを数える・マルチスレッドで分割して処理する**」という **完全一致の“元ネタ”ソースコード**は、公開されたweb 上のリポジトリや記事の中では見つかりませんでした(複数の検索ワード/検索対象で確認)。([hyr.mn][1])
ただし、ほぼ同種の要素(メモリマップドファイルの読み方・大きなファイルの行数カウント・バイト単位カウントを高速化する手法)は複数見つかりました。これらを組み合わせれば、先に示した実装は典型的なパターンであることが確認できます。([Microsoft Learn][2])
見つかった“近い”・参考になりそうなソース(抜粋)**
1. .NET の公式ドキュメント(MemoryMappedFile の説明) — `MemoryMappedFile` の基本とCreateViewStream /CreateViewAccessor の使い方。必須の参照。([Microsoft Learn][2])
2. 「Countinglines withC#」というブログ記事(C# で改行(CR/LF)カウントに関する実装とGitHubリンク) — 行数カウントを目的とした実装パターンがある。([hyr.mn][1])
3. StackOverflow:MemoryMappedFileから高速にバイトを読む方法(`MemoryMappedViewAccessor` / unsafeポインタ / Marshal.Copy 等の議論) — 高速実装のヒント。([StackOverflow][3])
4. StackOverflow/Q&A:ファイル中のLF/CR の数を求める方法に関するスレッド(`grep -c $'\r'` 等のunix 例やC# でのカウント方法の議論)。([StackOverflow][4])
5.GitHub のサンプルリポジトリ(MemoryMappedFile のテスト/サンプル) —メモリマップドファイルを使う実装例。([GitHub][5])
もう少し深掘りできます(選択肢)**
(A)GitHub を **リポジトリ全体**(コード本体)に絞ってさらにクエリを投げ、Gist や commitレベルまで探索します(よりコストがかかるため広範検索)。
(B)ブログ・技術記事を対象に **全文一致(コード断片)検索** を行い、私が先に示したC#コードの実際の一節(たとえば `mmf.CreateViewStream(offset, size)` や `Interlocked.Add(ref totalCount, localCount)` など)を直接検索して完全一致を探します。
(C) 「オリジナルはGitHub にあるはず」と思われるなら、あなたが覚えている**リポジトリ名の断片/作者名/投稿日**などを教えていただければ、それを手がかりに探します(断片情報があるとヒット率がぐっと上がります)。
どれを優先して探しましょうか?(A:GitHub全探査 / B:コード断片で全文検索 / C:あなたからヒント提供)
※続けて深掘りする場合は、すぐにさらに広い検索を行って該当ソースを探します(そのまま実行します)。
[1]:https://hyr.mn/catching-flowers-with-a-net?utm_source=chatgpt.com "Countinglines withC# - hyr.mn"
[2]:https://learn.microsoft.com/en-us/dotnet/standard/io/memory-mapped-files?utm_source=chatgpt.com "Memory-Mapped Files - .NET"
[3]:https://stackoverflow.com/questions/7956167/how-can-i-quickly-read-bytes-from-a-memory-mapped-file-in-net?utm_source=chatgpt.com "How can I quickly read bytes from a memory mapped file in ..."
[4]:https://stackoverflow.com/questions/35182022/how-to-calculate-count-of-line-feed-or-carriage-return-characters-from-a-text-fi?utm_source=chatgpt.com "How to calculate count ofline feed or carriage return ..."
[5]:https://github.com/byGeek/MemoryMappedFileTest?utm_source=chatgpt.com "test csharp code for using memory mapped file."
NHK朝ドラ「ばけばけ」の放送も近づいて、ラフカディオ・ハーン(小泉八雲)への関心の高まりつつある昨今だが、この機会に言っておきたいことがある。それは、ハーンについての鶴見俊輔の以下のよく知られた言及は、素人の自分の調べた限りでは、非常に不正確でほとんどデタラメに近いということだ。
https://x.com/shunsuke_bot/status/1019013776841039872
ラフカディオ・ハーンは、やがて日本に帰化し、日本人と結婚し、親類づきあいや近所づきあいの中にまきこまれ、日本に住む者として日本文化をまぢかに見るようになってからは、次のように書いた。 「私は、かつて日本人はみな天使であるかのように書いたことを思い出すと、気がくるいそうだ。」
これを読んだ私は当初、きっとハーンは日本人の建前の裏の本音にうんざりして、日本女性と結婚して日本に帰化したことも後悔したのに違いない、とすら思った。しかし調べてみたら全然違ったのだ。
確かにハーンは鶴見の引用するような文章を書いた。しかしその前の
「以前住んでいた出雲の人たちはおだやかだったが、引っ越し先の九州の人たちは粗暴だ」
まあ確かに批判はしているのだが、日本全体を批判したわけではないし、また批判した内容も(鶴見のほのめかすような)日本人の陰湿さといったものではなく粗暴さである。それも130年以上前の話だ。今は九州も出雲も、当時より相当おだやかになっているはずである。
またこの文章の出典は出版物ではなく、W.B.メイソンという人に宛てた1892年の私信である。つまり公然たる主張ではなく内輪の愚痴なのだ。それならその日の気分で筆の滑ることもあろうし、果たしてそこまで深刻に受け止めるべきものだったかのかどうか。
-----------------------------------------------
なお日本で刊行された小泉八雲の著作には、どうやらこの文章は収録されていないようだ。少なくとも国会図書館デジタルコレクションで小泉八雲の著作を「日本人天使」で全文検索しても見つからない。これは私の調査不足による誤りで、実際は普通に収録されていた。申し訳ない。この記事の終わりで詳述する。
しかしハーンの文章の英語原文をChatGPTに教えてもらい、その語句でググると出典が見つかる。これならおそらくアメリカの大学図書館では読むことができただろう。
"make memad to think that I wroteall theJapanese wereangels" -Google検索
Fulltext of "TheJapanese letters of Lafcadio Hearn"
https://archive.org/stream/japaneseletters00hearrich/japaneseletters00hearrich_djvu.txt
I can'tget much chance to studylife in Kuma-
moto. Idon'tlike the Kyushu people — the com
mon people. InIzumoallwassoft, gentle, old-
fashioned.Here the peasants and the lower classes
drink andfight andbeat their wives andmake me
mad to think that I wroteall theJapanese were
angels. . . .
(拙訳)
出雲では、すべてがやわらかく、優しく、古風だった。
また鶴見の文章の出典は、国会図書館デジタルコレクションで容易に見つかる。当該の記述は「生花の位置」という文章の一部で、初出は「華道1953年3月」だとのこと。率直に言って、私のような素人にもなかなか興味深く面白い文章である。
https://dl.ndl.go.jp/pid/2466359/1/88
https://dl.ndl.go.jp/pid/6028304/1/5
鶴見は1942年までハーバード大学に留学していた。彼はおそらくそこで、日本ではあまり知られていなかったこのハーンの手紙を読んだのであろう。そしてその約10年後に、その内容を自分の文章に(意図的かうろ覚えか)不正確に引用して、日本文化を批判する自説の補強に使ったのであろう。しかしハーンの手紙の正確な原文は日本ではあまり知られないままだったので、鶴見の文章の面白さもあって、その引用が独り歩きしてしまったのではないだろうか。
なお鶴見には他にもしばしば、他人の作品を我田引水して自説をイタコのように語らせる悪癖があるようだ。例えば彼は日本のマンガ評論のさきがけでもあるのだが、長谷川町子『サザエさん』などの評論は全編そんな感じだった。これもおそらく執筆当時は、庶民の作品に潜む抵抗精神という本質を見抜いたなどと称賛されたのであろうが、今となっては私には鶴見が他人の作品をダシに自分の政治信条を主張しているだけにしか見えない。しかし、もし仮に『サザエさん』が鶴見の評論より先に廃れていたら、同様に評論だけが独り歩きしていたのではないだろうか。
-----------------------------------------------
この記事を手早く書き上げて公開した後ほぼ失念していたが、「ばけばけ」の放送も始まったので思い出して読み返したところ、割と読みづらかったので文章に少々手を加えた。内容は変えていない。
この記事への反応は少なかったが、かなり肯定的な評価もいただけた。また「小泉八雲日本人天使」でググると検索結果の上位に出るようになったから、今後は鶴見のこの言及に興味を持った人の調べる手間が省けるだろう。
まあ省けると言っても、私は完全な門外漢の素人であり、調査はPCを数時間操作しただけである。たったそれだけで、もし鶴見の同時代人だったらハーンの専門家がアメリカの大学図書館に出向かないとわからなかったようなことが容易にわかってしまう。つくづくありがたい時代だと思う。
-----------------------------------------------
申し訳ないが訂正。
先に書いた通り、ハーンの例の手紙が日本であまり知られていないという私の推測は間違いで、実際は広く知られていた。
つまり、ハーンの手紙が知られずに鶴見の言及が独り歩きしたという私の憶測は完全に間違いだった。改めて申し訳ない。
田部隆次 著『小泉八雲』,早稲田大学出版部,大正3.国立国会図書館デジタルコレクション
https://dl.ndl.go.jp/pid/950739/1/122?keyword=%E6%97%A5%E6%9C%AC%E4%BA%BA%20%E5%A4%A9%E4%BD%BF
熊本では人の世を研究する機会にあまり数多く接する事は出来ない。
出雲では誰も彼もが柔和で、優しくて、古風だ。
また、ハーンの手紙を踏まえて書かれた最近(2025/08/18)のブログ記事もあった。
朝ドラ『ばけばけ』の主人公の夫のモデル小泉八雲はどんな人だったんだろう?① | よどの流れ者のブログ
https://ameblo.jp/s21y24/entry-12923911589.html
出雲では万事柔和で古風であった。
しかしそうなると、この鶴見の言及が、なぜ1953年から今(2025年)に至るまで間違いを指摘されてこなかったのかはわからなくなってしまった。
単純に、小泉八雲の専門家の目に触れる機会がなかったからだろうか。
それとも鶴見の権威を恐れて間違いを指摘する者が現れなかったのか。
今の私は見当がつかない。
「いかがでしたかブログしか出てこない」とか言っているのは探し方が悪いだけだ。
そんなことより検索対象が消えていくほうが遥かに重大な問題だ。
ホームページサービスやブログサービスが終了するたびに膨大な情報が消えていく。
たとえば江戸時代に書かれた大量の日記が目の前で焼かれていたら、学者たちは身を挺してでも必死に炎を消そうとするだろう。
まさに同じことが、いまこの現代で起きているのに、なぜ政府は手を拱いているのか。
大規模なウェブサービスが終了するときはそのデータべースを国会図書館に納めるように法律で義務付けよ。
これ半分犯罪だろ
・唐澤貴洋の新口座が発掘される
・唐澤を名乗り「あなたのメールアドレスが流出情報に含まれていました、うちの口座に3万振り込めばダークウェブからの削除を行います」という趣旨のメール文を準備
・上記文が出来た直後にちょうど脆弱な企業メーラーを1つ乗っ取りに成功、角川が漏らしたメアドを一気にインポートさせて順次送信中(Xで23時半頃から続々と着信報告)
・データを暫定的にダウンロードし終わり、23時過ぎにTorrentやGithubに流した模様
・嫌儲に貼られた夏野一家などの個人情報がいっぱい書かれたレスのコピペ元は恒心教の掲示板
・経営者一家宅に送るピザにパイナップルをトッピングするかで大激論
「自分のメアド過去のものも全部含めて流出してないか確かめたいから、バラ撒かれたファイル落として確かめる。全文検索かけるのめんどいなあ… せや!ハッキングした企業メーラーに適当な尊師名義のメール一斉送信させて、自分の端末にヒットするか見るわ!」
Google検索は、検索漏れがしばしば発生したので、検索漏れに対しては、「登録しますから、そのURL を報告してください」というページが用意されていた。しかし今は、そのページがなくなって、検索漏れの報告の受付をしなくなった。
かわりに、サイトの持主ならば、あらかじめサイトを登録しておくことで、検索漏れを報告する特別なページが使える。ただし、あらかじめサイトを登録しておくことが必要なので、手軽に報告することはできない。
また、いちいち(数分間をかけて)検索漏れを検証する必要があるので、多くのページを次々と報告することもできない。
結果的に、検索漏れのページがたくさん発生したまま、報告を受け付けないので、検索漏れのページがたくさん残っている。検索漏れのページは、昔はほとんどなかったのに、今ではたくさん発生するようになった。そのせいで、ブログを書いたあとで、サイト内検索をしても、Google では検索漏れが多大に発生するようになった。仕方がないので、ブログ機能で全文検索するしかない。これだと、サーバーの機能が弱いので、瞬時に結果が出ることはなく、かなり待たされるが、検索漏れがないので、Google よりは信頼できる。しかし、遅いんだよね。
厚生労働省は通知関係をデータベースで全文検索できるようにしていて国の役所の中では比較的ましな方なんだけど、
こんなふうに重要通知をスキャンデータを掲載してるだけのケースも山ほどあるんよ。なんとかしてくれよ
https://www.mhlw.go.jp/web/t_doc?dataId=00tc1901&dataType=1&pageNo=1
一応市町村向けの専用ポータルみたいのはあってpdfで取得出来たりはするけど、改正の新旧対照表だけのっけて
改正を反映した溶け込み後の通知や条文がついてないとかザラなんよ。頼むよ。
おまえのパソコンの一太郎ファイルをそのまま載せればええんよ。
あと保育関係な。通知の名称で検索するとGoogleさんがpdfファイルへの直リンを示してくれるけど、
おおもとのhtmlでのページが見つからないもんだから、そのpdfが時系列的に最新なのかわからないのよ。
最近は以前ほど流行らなくなった感もあるが、こういったツールを用いて全てを一箇所に記録、蓄積して知的生産に役立てようというのは自分の中でも大きなテーマになっている。
メモツールの類にドキュメントを片っ端から放り込んで全文検索するのが基本的な使い方だ。
近頃はペンダント等のウェアラブルデバイスで常時録音録画して、音声や画像から文字起こしでテキストを抽出し記録して検索の対象とするサービスが出てきた。
極端な話、もし出生した時からこうしたデバイスを常時着用し、見聞きしたあらゆる事をデータ化できれば、その人生のすべてが検索可能になるだろう。
今後、脳と機械がBMIで接続できるようになれば、脳内の記憶あるいは思考すら外部にデータとして蓄積可能になるかも知れない。
そうなれば、ある意味、自分の分身がデジタルの世界に創り出されるとも言える。生きているうちに自分をデジタル化するのが今の願望だ。
デジタル化したせいで余計な作業が増えているという記事を読んだ。
https://blog.tinect.jp/?p=86085
自分は80年代生まれのオッサンで記事の著者よりも年配なのだが、これっぽっちも共感できなかった。と言うのも社会のデジタル化が進んだ時代でなければ、まともな生活を送れていなかったであろうと断言出来るくらいデジタル技術に助けられているからだ。
子供の頃より発達障害の気があったのか、とにかく紙を使った事務作業的なことができなかった。手書きの文字が汚すぎて第三者が読めない、学校で配布されるプリント類はまともに整理できないわ、授業の板書はただの走り書きになって見返しても意味不明になるわと、とにかく書類が扱えなかった。手帳を買ってもまともに記録できなくて予定管理もダメダメだった。
そんなわけで、高校までの授業態度を加味した学校の成績は壊滅的だったが、勉強自体はそこそこできたので大学進学はできた。大学生になると授業のレポート作成にPCを使えるようになって生活が一変した。壊滅的だと思っていた事務能力が、PCのおかげで飛躍的に向上したのだ。
まず、まともに資料が作れるようになった。手書きのノートと違って、誰でも美しい文字がかけて何度でも修正が効く。メモ帳でテキスト形式の文章を作っておけば、後から内容を検索して見返すことができる。PCのおかげで高校生まで苦手意識のあった資料作成が得意分野に変わったのだ。
次にデータ管理。PCの検索機能やソート機能には本当に助けられた。ファイル整理を一切しなくても、全文検索や拡張子別に並べて日付ソートすれば目当ての資料が見つかるというのは最高すぎた。紙だとそうはいかないので大変だった。
↓
数ヶ月後に別の書類が必要になった時、前回の捜索でひっくり返したせいで資料がぐちゃぐちゃになって見つからずさらにひっくり返して探しまくる
↓
その次、別の書類が必要となった時にはさらに棚が混沌としておりもはや発見困難…
というような悪循環を繰り返していたので、デジタル化によってようやくまともに資料管理ができるようになったのだ。
就職活動のときもデジタル化に助けられた。そもそも手帳が使えない人だったので、PCからでも携帯からでも入力できるGoogleカレンダーがなければスケジュール管理が不可能だった。履歴書だって、手書きで作ると字が汚すぎて門前払い喰らっていたかもしれない。
学生の時点でこうなので、就職してからはなおさらである。紙ベースで仕事する職場だったら、入社直後に社会不適合者のレッテルを貼られてしまい、干されてパワハラ受けて鬱で退職していたかもしれない。今の職場で15年以上働き続けて、いつしか管理職になり、今では部下を持ってそこそこ仕事が出来ているのはデジタル化のおかげとしか言いようがない。
仮に自分が昭和や平成初期に社外人になっていたかと思うとゾッとするので、デジタル化が進んだ時代に生きることができて本当に良かったと思っている。そんなわけで、この手の社会のデジタル化の議論をする時は、効率の面だけでなくて発達障害の気のある人の救済になっているという側面についても、もう少し注目されても良いのではないかと思う。