FLSを使用したユーザー相談のための休憩(全文検索)。
$ docker -vを実行して、インストールを確認します。
リポジトリのクローン( $ git clone [email protected]:gustavo-flor/find-user-service.git );
クローンフォルダー( $ cd find-user-service )にアクセスしますか?ショ和;
アプリケーションビルドを実行します( $ ./mvnw clean install -DskipTests=true );
サービスとその依存関係を登ります( $ docker compose up );
エンドポイントhttp://localhost:8080/searchを使用してアプリケーションを使用する準備ができましたか?
「生産」環境にアクセスして、アプリケーションをテストします。
専用のホストではないことに注意することが重要です。そのため、レンズントンズまたは障害の制限が予想されます。最初のアクセスでは、応答のために遅延が発生する場合があります。
get | /search?query={terms} | json
送信された条件に基づいて発見されたユーザーは、ユーザーの関連性と条件との互換性に従って注文されました。
用語:スペースによって区切られた各単語は用語と見なされます(特定の文を検索するために使用する必要がある場合は、二重引用符の間に文を送信するだけです)
例:
query=Pedro Gabriel :アプリケーションは、「Peter」または「Gabriel」という用語(またはそのデリバティブ)を熟考するユーザーを探します。これを「詳細 +ゴール...」のトピックで説明します。
query="Pedro Gabriel" :アプリケーションは、「Pedro Gabriel」という用語を正確に熟考するユーザーを探します。
query="Pedro" Gabriel :アプリケーションは、「Peter」という用語を正確に熟考するか、「Gabriel」(またはそのデリバティブ)を熟考するユーザーを探します。
| パラメーター | 説明 | 必須 |
|---|---|---|
| クエリ | 検索の用語。 | はい |
| から | ページ、ページカウントは0から始まります。標準値:0。 | いいえ |
| サイズ | ユーザーはページごとに制限されます。標準値:15。 | いいえ |
| デバッグ | ユーザーのリターンに、送信された条件に関連性と互換性のメモに追加されます。標準値:false、許可された値[true、false]。 | いいえ |
例:
$ curl http://localhost:8080/search ? query=%22pedra%22 {
"from" : 0 ,
"size" : 15 ,
"data" : [
{
"id" : "9f64853b-f164-4b13-a3d7-1fdb9977e516" ,
"name" : "Jeferson Pedra" ,
"username" : "jeferson.pedra"
} ,
{
"id" : "b4026e35-932c-4943-b0db-7dd31eca5597" ,
"name" : "Stefane Pedra Zimiani" ,
"username" : "stefane.pedra.zimiani"
}
]
}
debug: true
{
"textScore" : 1.5 ,
"id" : "482c46f3-a27c-4f1a-abd0-3039ede21fdd" ,
"name" : "Gustav Berghahn" ,
"username" : "gustav.berghahn" ,
"relevance" : 3
} 必要なのは、特定のデータベースの1人以上のユーザーを介して、それらの関連性に応じて注文できるスケーラブルで高性能アプリケーションを構築することでした。これを知っていることは、Spring + MongoDBアプリケーションを作成するために選択されました。
新しいユーザーを含めるエンドポイントはありません。それらは、Java Project
resourcesフォルダーに存在するファイルに基づいてアプリケーションに登るときに含まれています。
春の使用の動機は何でしたか?
第一に最も重要なのは、フレームワークに精通していることですが、APIレストの作成と構成の容易さと、MongoDBおよびその他の展開(Heroku)プラットフォームでの構成を促進することです。
Mongodbの使用の動機は何でしたか?
私たちのニーズを知っているので、データベース内の関係に対処する必要はないことを認識できます。それが大きな理由ですが、私が嘘をつくことができない主な理由は次のとおりです。
全文検索の利点と短所...
検索の検索テキストにインデックスを作成することにより、FTSは「いいね」などのオプションと比較して多くのパフォーマンスをもたらすことになります。このソリューションは、検索の用語の専門であるため、検索をより適切かつ迅速に実行できます。
その最大の欠点と敵は次のとおりです。FTSは「いいね」ではなく、最初はこれを理解することは困難です。期間の半分を送信することはできず、予想どおりに検索が機能すると信じています。
さらに正しい検索のためにこれを知ることは、FTSがそのドキュメントを通じて提供する可能性をすべて知ることが理想的です。
このサービスを消費するWebアプリケーションを備えたリポジトリ、Find-User-Web [開発中]。
このソリューションの改善を自由に作成してください⚗、大きな抱擁!