See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 4068|Vastuse: 2

[Allikas] [Praktiline võitlus] Kasuta Lucene.Net + Jieba.NET, et luua kerge kohapealne otsing

[Kopeeri link]
Postitatud 2023-10-29 18:05:43 | | | |
Nõuded: Täisteksti otsing saidil on levinud funktsioon ja seda kasutatakse sageli selle põhjalElasticSearchSolrJuurutamine ja arendus ning nüüd on välja antud kaks uutRedisSearchMeiliSearchOtsingumootoris, esimesed kaks on raskemad, kuigi viimased kaks pole nii rasked kui esimesed, kuid vajavad siiski sõltuvaid teenuseid; see artikkel kasutab Lucene.Net + Jieba.NET, et luua kerge kohapealne otsing.

Lucene.Net

Lucene.Net on Lucene .NET port ja avatud lähtekoodiga täisteksti otsingumootori arenduskomplekt, st see ei ole täistekst otsingumootor, vaid täisteksti otsingumootori arhitektuur, mis pakub täielikku päringu- ja indekseerimismootorit.

Sait:Hüperlingi sisselogimine on nähtav.
GitHubi aadress:Hüperlingi sisselogimine on nähtav.

Jieba.NET

Jieba.NET on partitsiip hiina jieba. .NET versioon (C# rakendus). See suudab täita funktsioone nagu sõnade segmenteerimine, kõneosade annotatsioon, märksõnade eraldamine jms hiina teksti jaoks ning toetab kohandatud sõnastikke.

GitHubi aadress:Hüperlingi sisselogimine on nähtav.

Esmalt vaatame renderdusi:




Kohanda analüsaatorit

Analyzer, TokenStream, Tokenizer, TokenFilterTokenStream in Lucene TokenStream: Voog, mis saadakse pärast tokenizaatori töötlemist. See voog salvestab mitmesugust teavet sõnade segmenteerimise kohta, mida saab tõhusalt hankida TokenStreami kaudu. Järgmine on protsess, kuidas failivoo TokenStreamiks teisendada Esmalt kasutage tokenizerit sõnade segmenteerimiseks, erinevatel tokeniseerijatel on erinevad tokenzierid, pärast tokenzieri eraldamist filtreerige TokenFilteri kaudu sõnadeks jagatud andmed, näiteks stop-sõnad. Pärast filtreerimist ühenda kogu info TokenStreami.

Viide:

Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.
Hüperlingi sisselogimine on nähtav.


Lucene analüsaatori kohandamiseks Jieba.NET alusel on esimene viide järgmine:



Vaata otse Lucene.Net.Analysis.Common paketti, kuna Lucene.Net.Analysis.Common tugineb Lucene.Net paketi automaatsele allalaadimisele.

Loo uus JiebaTokenizer.cs järgmise koodiga:

Loo uus JiebaAnalyzer.cs järgmise koodiga:



Lucene.Net Loo uusi dokumente ja otsinguid

Lisa veebilehe andmed Lucene'ile regulaarselt või käivitatult ning Lucene salvestab dokumendi füüsilisele kettale analüsaatori kaudu ja kutsub seejärel otsinguliidest, et see leida.

LuceneHelperi abiklassi kood on järgmine:



Salvestus

Store.JAH: See mitte ainult ei indekseeri andmeid, vaid salvestab ka andmeid, nii et otsingutulemused saavad välja infot tagasi tuua.
Store.NO: Indekseeritakse ainult andmeid, andmeid ei salvestata ja otsingutulemused ei saa seda välja infot.Säästab kettaruumi

Nagu allpool näidatud:




Välja tüüp

Lucene.Net väljatüübid on Int32Field, Int64Field, SingleField, DoubleField, BinaryDocValuesField, NumericDocValuesField, SortedDocValuesField, StringField, TextField, StoredField, Palun kasuta vastavalt oma olukorrale sobivat andmetüüpi.

TextField vs. StringField

TextField saab kindlasti leksikaliseeritud, StringField ei tee dokumendis salvestatud sisu leksikaalset analüüsi, vt järgmist:Hüperlingi sisselogimine on nähtav.

Esineb ühendotsing


Järgmistest on 6 kombinatsiooni:

1. PEAB ja PEAB: Leia järjestikuste päringuklauslite ristumiskoht.
2. PEAB ja MUST_NOT: Näitab, et päringuklausli otsingutulemusi, mis vastavad MUST_NOT-le, ei saa päringu tulemustesse kaasata.
3.PEAKS ja MUST_NOT: Pidevas kasutamises on funktsioon sama mis MUST ja MUST_NOT.
4. Kui PEAKS ja MUST kasutatakse koos, on tulemus MUST-klausli otsingutulemus, kuid SHOULD võib mõjutada sorteerimist.
5. PEAKS ja PEAKS: Näitab seost "või" ja lõpliku otsingutulemuse vahel on kõigi otsinguklauslite liit.
6.MUST_NOT ja MUST_NOT: mõttetu, tulemusteta tagasitoomine.


Käivita projekt

Sel hetkel saad alustada projekti, et lisada, uuendada ja otsida liidese koodi järgmiselt:


Vigadest võib teatada järgmiselt:

Taotluse töötlemisel tekkis käsitlemata erand.
DirectoryNotFoundException: Could not find a part of the path 'C:\Users\itsvse_nuc11\source\repos\DiscuzSearch\DiscuzSearch\bin\Debug\net6.0\Resources\prob_trans.json'.
Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile (string fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions valikud)

TypeInitializationException: The type initializer for 'JiebaNet.Segmenter.JiebaSegmenter' threw an exception.

jieba.net Pärast paigaldamist näed Resources kataloogi packages\jieba.NET kataloogis, mis sisaldab sõnastikku ja muid andmefaile, mis on vajalikud jieba.NET käivitamiseks, ning kõige lihtsam konfiguratsioonimeetod on kopeerida kogu Resources kataloog kausta, kus assembly asub, nii et sisseehitatud vaikimisi konfiguratsiooniväärtused jieba.NET kasutatakse.

C:\Users\%USERPROFILE%\.nuget\packages\jieba.net\0.42.2\Resources

JiebaNet peab lisama konfiguratsioonikausta, kood on järgmine:

Test lõi 500 uut dokumenti (mis on seotud minu tegeliku olukorraga, ainult viiteks) ja ketas hõivab 119KB, nagu alloleval joonisel näidatud:



(Lõpp)




Eelmine:Jälgi ametlikku kontot ja saa tasuta "kutsekood"
Järgmine:.NET teisendab andmebaasi varbinaarse stringi baidi[] massiiviks
 Üürileandja| Postitatud 2023-10-29 18:10:40 |
Elasticsearch (ES) ei kirjuta andmeid vealahendusele
https://www.itsvse.com/thread-10568-1-1.html

Elasticsearch puhastab automaatselt indeksid, et vabastada kettaruumi
https://www.itsvse.com/thread-10273-1-1.html

Elasticsearch-7.x kasutab turvaautentimiseks xpacki
https://www.itsvse.com/thread-10206-1-1.html

Paigalda Elasticsearch teenus Dockeri abil
https://www.itsvse.com/thread-10148-1-1.html

Elasticsearch kasutab andmete varundamiseks ja migreerimiseks elasticdumpi
https://www.itsvse.com/thread-10143-1-1.html

Paigalda elasticsearch 7.10.2 juhendi eraldiseisev versioon Windowsi
https://www.itsvse.com/thread-9962-1-1.html

Sissejuhatus Elasticsearchi otsingu esiletõstmise konfiguratsioonisse
https://www.itsvse.com/thread-9562-1-1.html

.NET/C# Kasuta Elasticsearchi silumist päringute ja vastuste info vaatamiseks
https://www.itsvse.com/thread-9561-1-1.html

ASP.NET Core Link Trace (5) Jaegeri andmed säilivad elasticsearch'is
https://www.itsvse.com/thread-9553-1-1.html

Elasticsearch (ES) replitseerib kloonide indeksi
https://www.itsvse.com/thread-9545-1-1.html

Elasticsearch(ES) klastri tervis: kollane (6/7) staatus
https://www.itsvse.com/thread-9544-1-1.html

Elasticsearch(ES) klastri tervis: punane rikete analüüs
https://www.itsvse.com/thread-9543-1-1.html

Java geolokatsiooni info ElasticSearchis (geo_point)
https://www.itsvse.com/thread-6444-1-1.html

ElasticsearchParseException[field peab olema kas [lat], [lon] või [geohash]]
https://www.itsvse.com/thread-6442-1-1.html

elasticsearch-mappingfield tüüp
https://www.itsvse.com/thread-6436-1-1.html

Elasticsearch:No handler for type [string] declared on field[XX]的解决办法
https://www.itsvse.com/thread-6420-1-1.html

【Practical Action】Kibana paigaldusõpetus Elasticsearchile
https://www.itsvse.com/thread-6400-1-1.html

Elasticsearchi täiustatud tunnuste perekonna geograafilised koordinaadid
https://www.itsvse.com/thread-6399-1-1.html

ElasticSearch liitpäringud peavad, peaksid must_not kasutama
https://www.itsvse.com/thread-6334-1-1.html

Elasticsearch kustutab ja indekseerib kõik dokumendiandmed
https://www.itsvse.com/thread-6321-1-1.html

[Päris lahing]. net/c# Kutsu elasticsearch otsingut NEST kaudu [lähtekoodiga]
https://www.itsvse.com/thread-6294-1-1.html

Põhjused ja lahendused unassigned_shards ühe sõlmega elastilise otsingu jaoks
https://www.itsvse.com/thread-6193-1-1.html

Õpetus elasticsearch-analysis-ik paigaldamiseks elasticsearch-6.5.2 süsteemis
https://www.itsvse.com/thread-6191-1-1.html

Paigalda elasticsearch-6.5.2 elasticsearch-head plugin
https://www.itsvse.com/thread-6190-1-1.html

Centos 7 paigaldus ja juurutamine elasticsearch-6.5.2 õpetus
https://www.itsvse.com/thread-6173-1-1.html

Otsingumootori valik: Elasticsearch vs Solr
https://www.itsvse.com/thread-6168-1-1.html
 Üürileandja| Postitatud 2023-11-5 21:27:45 |
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com