Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 197688|Atsakyti: 35

[Šaltinis] [Tikroji kova]. net/c# Skambinti elasticsearch paieška per NEST [su šaltinio kodu]

[Kopijuoti nuorodą]
Paskelbta 2018-12-20 17:32:53 | | | |
ElasticSearch:

ES yra beveik realaus laiko paieškos platforma, pagrįsta Lucene, kuri teikia paskirstytą viso teksto paieškos variklį, kuris naudoja RESTful kaip API sąsają indeksams ir duomenims indeksuoti ir užklausti atliekant paprastas "Get", "Post" ir kitas operacijas.


Esminės žinios:

"Centos 7" diegimo ir diegimo "Elasticsearch-6.5.2" pamoka
https://www.itsvse.com/thread-6173-1-1.html
(Šaltinis: Architect_Programmer)
Įdiekite elasticsearch-6.5.2 elasticsearch-head įskiepį
https://www.itsvse.com/thread-6190-1-1.html
(Šaltinis: Architect_Programmer)
Elasticsearch-analysis-ik diegimo elasticsearch-6.5.2 pamoka
https://www.itsvse.com/thread-6191-1-1.html
(Šaltinis: Architect_Programmer)

Montavimas:

NEST galima įdiegti naudojant nuget naudojant šią komandą:



.NET versijai reikalinga bent 4.6, kuri išsamiai aprašyta taip:Hipersaito prisijungimas matomas.

Sveiki, mes numetėme .NET 4.5 palaikymą .netstandard1.3, net46 yra nauja bazinė linija.

Mes tai padarėme, kad galėtume pradėti diegti netcoreapp2.1 TFM ir sutelkti dėmesį į visą našumo darbą klientui.

Ar galite papasakoti apie savo aplinką?

.NET 4.5 pradėjo veikti 2012 m., o iki 2014 m. "Microsoft" palaikė tik 4.5.2. Tam tikru momentu turime priimti sunkų sprendimą atsisakyti 4.5.2, kad galėtume daugiau dėmesio skirti dabartinėms ir naujesnėms .NET versijoms. Kaip mes pasidavėme prieš kelerius metus. NET 3.5, tai nėra lengva užduotis.


Sukurkite indeksą:

Jei indekso nėra, naudokite šį metodą, kad sukurtumėte susiejimą tuo pačiu metu, kai indeksas kuriamas

Išsiųskite įdėjimo užklausą į sąsają, o json duomenys yra tokie:


Nugara:

{
"pripažinta": tiesa,
"shards_acknowledged": tiesa,
"index": "test1"
}

Kaip parodyta žemiau:



Pridėti dokumentaciją:

Tiesą sakant, norėdamas pridėti duomenų, kurie prilygsta duomenų bazės eilutėms, surinkau apie 163 naujienas ir sėkmingai pridėjau iš viso 45 straipsnius, kaip parodyta paveikslėlyje žemiau:



Peržiūrėkite pridėtus duomenis naudodami elasticsearch-head papildinį.



Rankiniu būdu pridėkite duomenų dalį su html kodu, įdėkite turinį taip:



Įterpiame duomenų dalį su HTML žymomis, kad patikrintume paryškinimo funkciją, ar išvengti originalaus html ir js kodo, kitaip tai sukels xss atakas ir pan.

Ieškoti:

Ieškokite raktinių žodžių, tokių kaip "žmogus" ir "testas", naudodami programinę įrangą, ir pasirodys teisingi paieškos rezultatai, o įrašo užklausos turinys, kurį mums patogu derinti, taip:



Ieškokite bandomųjų raktažodžių ir pastebėkite, kad įraše esantis html kodas buvo sėkmingai išvengtas!

Šaltinio kode yra naujienų txt failas, Winform kviečia elasticsearch šaltinio kodą atsisiųsti:

Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašomeAtsakyti





Ankstesnis:Kai pirmą kartą atėjau į rampą, pasidalinau mados dizaino pamoka su visais
Kitą:CodeIgniter, paprasta ir greita PHP MVC sistema
 Savininkas| Paskelbta 2018-12-24 11:03:23 |
Sukurkite indekso kodą su lizdu:
Modelis:

Peržiūrėkite susiejimo susiejimą: http://ip:9200/test2/_mapping?pretty



Paskelbta 2021-12-28 10:10:50 |
Elasticsearch.Net.UnexpectedElasticsearchClientException: neįmanoma deserializuoti dabartinio JSON objekto (pvz., {"name":"value"}), kad būtų įvestas 'System. Int64", nes tipas reikalauja, kad JSON bazinės reikšmės (pvz., eilutės, skaičiai, buliai, nuliai) būtų tinkamai deserializuotos. Norėdami išspręsti šią klaidą, galite pakeisti JSON į JSON bazinę reikšmę (pvz., eilutę, skaičių, loginį loginį, nulinį) arba pakeisti deserializacijos tipą, kad jis būtų normalus. .NET tipai (pvz., ne primityvūs tipai, pvz., sveikieji skaičiai, ne rinkinio tipai) (pvz., masyvai ar sąrašai) gali būti deserializuojami iš JSON objektų. Taip pat prie tipo galite pridėti JsonObjectAttribute, kad priverstumėte jį deserializuoti iš JSON objekto. Kelias "hits.total.value", 1 eilutė, 113 pozicija.


Turėjau tą pačią problemą ir atrodo, kad NEST 6.6.0 biblioteka nesuderinama su Elasticsearch 7.0. Aš turėjau atnaujinti NEST į 7.0.0 (alfa šiuo metu).


Atnaujinus NEST ši problema išsprendžiama
Paskelbta 2019-07-22 15:20:56 |
1121695511 Publikuota: 2019-7-18 10:27
Aš apmokestinau kaip narys, bet atsisiųsti jį vis tiek buvo ta pati klaida kaip ir ankstesniame laikraštyje. Oi. Tai taip pat užklausos klaida

Norėdami tai ištaisyti, programa gali paleisti, tačiau tai sukelia kitokia versija nei elasticsearch atsisiuntimas
Paskelbta 2018-12-21 08:45:31 |
Neblogai~ Man viso teksto paieška yra problema
Paskelbta 2018-12-21 12:09:32 |
Dėkojame, kad dalinatės, pažiūrėkime
Paskelbta 2019-05-12 17:22:14 |
Ačiū nuomotojui. Jis yra geras žmogus
Paskelbta 2019-05-12 17:35:00 |
Aš negaliu išlipti. Labas. Taškai. Eismas. Visokie norai
Paskelbta 2019-05-28 17:53:48 |
Ačiū, kad dalinatės, mokotės!
Paskelbta 2019-06-18 18:12:40 |
Laimei, galite išbandyti.
Paskelbta 2019-06-19 17:28:18 |
Geras žmogus turi saugų gyvenimą
Paskelbta 2019-06-19 18:07:29 |
Dėkojame, kad dalinatės, pažiūrėkime
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com