Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 197688|Antwoord: 35

[Bron] [Echte gevechten]. net/c# Aanroep elasticsearch zoeken via NEST [met broncode]

[Link kopiëren]
Geplaatst op 20-12-2018 17:32:53 | | | |
ElasticSearch:

ES is een bijna realtime zoekplatform gebaseerd op Lucene, dat een gedistribueerde full-text zoekmachine biedt die RESTful gebruikt als API-interface om indexen en data te indexeren en op te vragen via eenvoudige Get, Post en andere bewerkingen.


Essentiële kennis:

Centos 7 installatie en implementatie elasticsearch-6.5.2 tutorial
https://www.itsvse.com/thread-6173-1-1.html
(Bron: Architect_Programmer)
Installeer de elasticsearch-6.5.2 elasticsearch-head plugin
https://www.itsvse.com/thread-6190-1-1.html
(Bron: Architect_Programmer)
Tutorial over het installeren van elasticsearch-analysis-ik in elasticsearch-6.5.2
https://www.itsvse.com/thread-6191-1-1.html
(Bron: Architect_Programmer)

Installatie:

NEST kan worden geïnstalleerd met nuget met het volgende commando:



De .NET-versie vereist ten minste 4.6, wat als volgt wordt beschreven:De hyperlink-login is zichtbaar.

Hoi, we hebben .NET 4.5 ondersteuning voor .netstandard1.3 laten vallen, Net46 is de nieuwe basislijn.

We deden dit zodat we netcoreapp2.1 TFM konden introduceren en ons konden richten op het brengen van al het prestatiewerk naar de client.

Kunt u ons iets vertellen over uw omgeving?

.NET 4.5 begon in 2012 en in 2014 werd alleen 4.5.2 door Microsoft ondersteund. Op een gegeven moment moeten we de moeilijke beslissing nemen om 4.5.2 los te laten zodat we ons meer kunnen richten op de huidige en nieuwere .NET-versies. Net zoals we een paar jaar geleden opgaven. NET 3.5, dit is geen gemakkelijke taak.


Maak een index:

Als de index niet bestaat, gebruik dan de volgende methode om tegelijkertijd met het maken van de index een mapping te maken

Stuur een put-verzoek naar de interface, en de json-gegevens zijn als volgt:


Terug:

{
"Bevestigd": Waar,
"shards_acknowledged": waar,
"index": "test1"
}

Zoals hieronder getoond:



Voeg documentatie toe:

In feite is het om data toe te voegen, die gelijk zijn aan de rijen van de database, ik verzamelde ongeveer 163 nieuws en heb in totaal 45 artikelen met succes toegevoegd, zoals te zien is in de onderstaande figuur:



Bekijk de toegevoegde data via de elasticsearch-head plugin.



Voeg handmatig een stuk data toe met html-code, zet de inhoud als volgt:



We voegen een stuk data in met HTML-tags om de markeringsfunctie te testen, of we de originele html- en js-code moeten ontwijken, anders veroorzaakt het xss-aanvallen, enzovoort.

Zoeken:

Zoek via de software op trefwoorden zoals "man" en "test", en de juiste zoekresultaten verschijnen en de inhoud van het verzoek van het bericht wordt weergegeven, wat voor ons handig is om te debuggen, als volgt:



Zoek op testzoekwoorden en ontdek dat de html-code in het record succesvol is ontsnapt!

De broncode bevat het nieuwstxtbestand, Winform roept elasticsearch-broncode aan om te downloaden:

Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieftAntwoord





Vorig:Toen ik voor het eerst bij de helling kwam, deelde ik de tutorial voor modeontwerp met iedereen
Volgend:CodeIgniter, een eenvoudig en snel PHP MVC-framework
 Huisbaas| Geplaatst op 24-12-2018 11:03:23 |
Maak indexcode met Nest:
Model:

Bekijk de kaarten: http://ip:9200/test2/_mapping?pretty



Geplaatst op 28-12-2021 10:10:50 |
Elasticsearch.Net.UnexpectedElasticsearchClientException: Kan het huidige JSON-object (bijv. {"name":"value"}) niet deserialiseren om 'System. Int64' omdat het type vereist dat JSON-basiswaarden (bijv. strings, getallen, booleans, nullen) correct worden gedeserialiseerd. Om deze fout op te lossen, kun je de JSON veranderen naar een JSON-basiswaarde (bijv. string, getal, booleaan, nul) of het deserialisatietype aanpassen zodat het normaal wordt. .NET-types (bijvoorbeeld geen primitieve types zoals gehele getallen, geen verzamelingstypes) (bijv. arrays of lijsten) kunnen worden gedeserialiseerd uit JSON-objecten. Je kunt ook een JsonObjectAttribute aan het type toevoegen om te dwingen dat het deserialiseert vanuit een JSON-object. Pad "hits.total.value", regel 1, positie 113.


Ik had hetzelfde probleem, en het lijkt erop dat de NEST 6.6.0-bibliotheek niet compatibel is met Elasticsearch 7.0. Ik moest NEST updaten naar 7.0.0 (op dat moment alpha).


Het upgraden van NEST lost dit probleem op
Geplaatst op 22-07-2019 15:20:56 |
1121695511 Geplaatst op 2019-7-18 10:27
Ik heb als lid een rekening geboekt, maar het downloaden was nog steeds dezelfde fout als bij de vorige krant. Au. Het is ook een queryfout

Om dit te corrigeren kan het programma draaien, maar dit wordt veroorzaakt door een andere versie dan de elasticsearch-download
Geplaatst op 21-12-2018 08:45:31 |
Niet slecht~ Voor mij is full-text zoeken een probleem
Geplaatst op 21-12-2018 12:09:32 |
Bedankt voor het delen, laten we eens kijken
Geplaatst op 12-05-2019 17:22:14 |
Dank u wel, verhuurder. Hij is een goed mens.
Geplaatst op 12-05-2019 17:35:00 |
Ik kan er niet af. Hé. Punten. Verkeer. Alle soorten wensen
Geplaatst op 28-05-2019 17:53:48 |
Bedankt voor het delen, het leren!
Geplaatst op 18-06-2019 18:12:40 |
Gelukkig kun je het proberen.
Geplaatst op 19-06-2019 17:28:18 |
Een goed mens heeft een veilig leven
Geplaatst op 19-06-2019 18:07:29 |
Bedankt voor het delen, laten we eens kijken
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com