拣阅一:缘由和系统设计_MySQL
个人平时比较喜欢看些新闻资讯,比如科技类的huxiu, 36kr,体育新闻等,对相关的APP也有用到,今日头条做的很不错,周围很多人在用,但是在用了一段时间之后发现很多APP都有以下特点:
1. 信息多而且杂,即使我只订阅或者关注了某些类别,推送的消息首先是太多其次是不相关。太多的信息我消费不了,不相关的信息我比较反感。
2. 现在的APP号称可以进行精准和个性化的推荐,头条做的还行,但是感觉不能及时的捕捉用户的兴趣变化,推荐的结果变化也小, 惊喜度不够。
3. 聚合类的新闻资讯有很多重复性的内容,而且很多只是简单的抓取和展现,对阅读的方式和体验都没有太大改善。
以上大概是用过之后感觉有些不便的地方,之前做过一段时间的推荐和文本处理相关的事情,加上自己有些想法,就想实现一个简单的系统,拿自己做个试验试试,也好验证下自己的想法,针对以上问题,个人的想法是1. 每天给用户展现一定数量的有价值的新闻,即限制推送给用户新闻的数量,相关性方面需要针对用户的特征建模,预期效果不太明显,只能通过一些策略来控制,比如最热和相关结合,某个事件或者某个类别展现一条新闻等策略实现。2. 针对用户的行为及时更新用户的特征权重,及让变化更实时一点。3. 很多人看文章只是看文章的大意,很少通读全文的,如果能对文章进行摘要,对APP类的应该会比较好,但是现在对中文貌似没有好的摘要方法,只能不断的进行尝试改进,我会用之前文章介绍的摘要算法进行实验,结合中文的词法和语义做些尝试。
以上纯粹是个人的观点和看法,肯定有不妥的地方,这方面有想法的可以在一起交流下。
目前开发工作已经进行了一些,之前一直用java来做web相关的服务和设计,奈何一般的云服务器跑java的话费用较高,故采用了python来进行相关的开发工作。系统的简单设计如下:
系统主要分为OnLine Service, OffLine Service, 其中OnLine 部分主要进行以下操作:
a). Fetcher利用UA和PA来获取推荐展示的新闻数据,首先会向redis请求相关数据计算,然后到MySql获取数据,目前假定MySql可以满足一定量的并发请求,以后可以考虑按照数据类型在MySql前面再加一层缓存。
b). Updater主要是根据用户行为来更新缓存中的UA权重,这样下次就可以根据用户的最新行为进行推荐展示。
目前采用的方式是tornado 框架来提供web服务,redis作为缓存存储数据,mysql作为底层数据存储, rabbitmq 来作为消息队列,jieba分词器来进行中文分词,redis + mysql 目前已经实现,web主要剩下页面的设计和实现,特征提取和摘要正在进行,由于事情比较多,可能最后实现的跟文章中说的会有很大区别,接下来会讲部分想法的实现过程和效果, 具体取决于进度和工作了,如果有兴趣可以一起交流。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









完全なテーブルスキャンは、MySQLでインデックスを使用するよりも速い場合があります。特定のケースには以下が含まれます。1)データボリュームは小さい。 2)クエリが大量のデータを返すとき。 3)インデックス列が高度に選択的でない場合。 4)複雑なクエリの場合。クエリプランを分析し、インデックスを最適化し、オーバーインデックスを回避し、テーブルを定期的にメンテナンスすることにより、実際のアプリケーションで最良の選択をすることができます。

INNODBのフルテキスト検索機能は非常に強力であり、データベースクエリの効率と大量のテキストデータを処理する能力を大幅に改善できます。 1)INNODBは、倒立インデックスを介してフルテキスト検索を実装し、基本的および高度な検索クエリをサポートします。 2)一致を使用してキーワードを使用して、ブールモードとフレーズ検索を検索、サポートします。 3)最適化方法には、単語セグメンテーションテクノロジーの使用、インデックスの定期的な再構築、およびパフォーマンスと精度を改善するためのキャッシュサイズの調整が含まれます。

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

クラスター化されたインデックスと非クラスター化されたインデックスの違いは次のとおりです。1。クラスター化されたインデックスは、インデックス構造にデータを保存します。これは、プライマリキーと範囲でクエリするのに適しています。 2.非クラスター化されたインデックスストアは、インデックスキー値とデータの行へのポインターであり、非プリマリーキー列クエリに適しています。

記事では、MySQLワークベンチやPHPMyAdminなどの人気のあるMySQL GUIツールについて説明し、初心者と上級ユーザーの機能と適合性を比較します。[159文字]

記事では、MySQLで大規模なデータセットを処理するための戦略について説明します。これには、パーティション化、シャード、インデックス作成、クエリ最適化などがあります。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQLデータベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。
