この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 197688|答える: 35

[出典] [実戦]。 net/c# NESTを経由したelasticsearch検索を呼び出せる[ソースコード付き]

[リンクをコピー]
掲載地 2018/12/20 17:32:53 | | | |
ElasticSearch:

ESはLuceneを基盤としたほぼリアルタイムの検索プラットフォームで、RESTfulをAPIインターフェースとして用いて、単純なGet、Postなどの操作でインデックスやデータをインデックス化・クエリする分散型全文検索エンジンを提供します。


必須知識:

Centos 7のインストールと展開 elasticsearch-6.5.2チュートリアル
https://www.itsvse.com/thread-6173-1-1.html
(出典:Architect_Programmer)
elasticsearch-6.5.2 elasticsearch-headプラグインをインストールしてください
https://www.itsvse.com/thread-6190-1-1.html
(出典:Architect_Programmer)
elasticsearch-6.5.2におけるelasticsearch-analysis-ikのインストールチュートリアル
https://www.itsvse.com/thread-6191-1-1.html
(出典:Architect_Programmer)

設置:

NESTは、以下のコマンドでnugetを使ってインストールできます:



.NETバージョンは最低でも4.6が必要で、詳細は以下の通りです:ハイパーリンクのログインが見えます。

こんにちは、.NET 4.5のサポートは.netstandard1.3で終了しました。net46が新しいベースラインです。

これはnetcoreapp2.1 TFMの導入を始め、すべてのパフォーマンス作業をクライアントに提供することに集中するためです。

あなたの環境について教えていただけますか?

.NET 4.5は2012年に始まり、2014年にはMicrosoftがサポートしていたのは4.5.2のみでした。 いずれは、4.5.2を放棄し、現在および新しい.NETバージョンにもっと集中するという難しい決断を下す必要があります。 数年前に諦めたのと同じように。 NET 3.5では、これは簡単な作業ではありません。


インデックス作成:

インデックスが存在しない場合は、次の方法でインデックス作成と同時にマッピングを作成します

インターフェースにputリクエストを送信すると、jsonデータは以下の通りです:


戻る:

{
「承認」:真実、
「shards_acknowledged」:真実、
「インデックス」:「テスト1」
}

以下に示すように:



ドキュメントの追加:

実際、データの追加はデータベースの行数に相当します。私は約163件のニュースを集め、合計45件の記事を無事に追加しました。以下の図に示されています。



elasticsearch-headプラグインで追加データを確認してください。



HTMLコードで手動でデータを追加し、内容を次のように配置します:



HTMLタグ付きのデータを挿入して、ハイライト機能のテストを行います。元のHTMLやjsコードから脱出するかどうか、さもなければxss攻撃を引き起こすなどです。

捜索:

ソフトウェアを通じて「man」や「test」などのキーワードを検索すると、正しい検索結果が表示され、投稿のリクエスト内容が表示され、デバッグに便利です。以下のように。



テストキーワードで検索すると、レコードに含まれるHTMLコードが正常に脱出されていることがわかります!

ソースコードにはニュースtxtファイルが含まれており、Winformはelasticsearchのソースコードを呼び出してダウンロードします:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える





先の:最初にランプに来たとき、ファッションデザインのチュートリアルをみんなに共有しました
次に:CodeIgniter、シンプルで高速なPHP MVCフレームワーク
 地主| 掲載地 2018/12/24 11:03:23 |
Nestでインデックスコードを作成する:
モデル:

マッピングの一覧:http://ip:9200/test2/_mapping?pretty



掲載地 2021/12/28 10:10:50 |
Elasticsearch.Net.UnexpectedElasticsearchClientException: 現在のJSONオブジェクト(例:{"name":"value")を「System.」とタイプ化するまでに非直列化できません。 Int64'は、この型が正しくデシリアライズするためにJSONの基本値(例:文字列、数字、ブール数、null)を必要としているからです。 このエラーを解決するには、JSONをJSONのベース値(例:文字列、数字、ブール、null)に変更するか、逆直列化タイプを通常のものに変えることができます。 .NET型(例:整数のようなプリミティブ型やコレクション型ではなく、配列やリストなど)は、JSONオブジェクトからデシリアライズすることができます。 また、JsonObjectAttributeを型に追加して、JSONオブジェクトからデシリアライズを強制することもできます。 パス「hits.total.value」、行1、位置113。


私も同じ問題があり、NESTの6.6.0ライブラリはElasticsearch 7.0と互換性がないようです。 NESTを7.0.0(この時点ではアルファ版)にアップデートしなければなりませんでした。


NESTをアップグレードすればこの問題は解決します
掲載地 2019/07/22 15:20:56 |
1121695511 2019年7月18日 10:27に投稿
会員として料金を請求しましたが、ダウンロードしても前の新聞と同じミスが続きました。 痛いな。 また、クエリエラーでもあります

修正のために、プログラムは実行できますが、elasticsearchのダウンロードとは異なるバージョンが原因です
掲載地 2018/12/21 8:45:31 |
悪くないですね~私にとっては全文検索が問題です
掲載地 2018/12/21 12:09:32 |
共有してくれてありがとうございます。見てみましょう
掲載地 2019/05/12 17:22:14 |
ありがとうございます、大家さん。 彼は良い人です
掲載地 2019/05/12 17:35:00 |
降りられない。 ねえ。 ポイント。 渋滞だ。 あらゆる種類の欲求
掲載地 2019/05/28 17:53:48 |
共有してくれて、学んでくれてありがとう!
掲載地 2019/06/18 18:12:40 |
幸いなことに、試してみることもできます。
掲載地 2019/06/19 17:28:18 |
良い人は安全な生活を送ります
掲載地 2019/06/19 18:07:29 |
共有してくれてありがとうございます。見てみましょう
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com