Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Trafność wyszukiwania pełnotekstowego jest mierzona w?

Podstawową strukturą danych dla systemu wyszukiwania tekstu jest Indeks odwrócony . Jest to zasadniczo lista słów znalezionych w kolekcji dokumentów z listą dokumentów, w których występują. Może również zawierać metadane dotyczące wystąpienia każdego dokumentu, takie jak liczba wystąpień danego słowa.

Dokumenty zawierające słowa można przeszukiwać, dopasowując wyszukiwane terminy. Aby określić trafność, należy zastosować heurystykę znaną jako Ranking kosinusowy jest obliczana na podstawie trafień. Działa to poprzez konstruowanie n-wymiarowego wektora z jednym składnikiem dla każdego z n wyszukiwanych terminów. W razie potrzeby możesz również ważyć wyszukiwane hasła. Ten wektor daje punkt w przestrzeni n-wymiarowej, który odpowiada wyszukiwanym słowom.

Podobny wektor oparty na ważonych wystąpieniach w każdym dokumencie można skonstruować na podstawie odwróconego indeksu, przy czym każda oś w wektorze odpowiada osi dla każdego wyszukiwanego terminu. Jeśli obliczysz iloczyn skalarny tych wektorów, otrzymasz cosinus kąta między nimi. 1.0 jest równoważne cos (0), co oznacza, że ​​wektory zajmują wspólną linię od początku. Im bliżej siebie wektory, tym mniejszy kąt i bliższy cosinusowi do 1.0.

Jeśli sortujesz wyniki wyszukiwania według cosinusa (lub umieszczasz je w kolejce priorytetowej jako mg tak) otrzymujesz najbardziej odpowiednie. Sprytniejsze algorytmy trafności mają tendencję do majstrowania przy wagach wyszukiwanych haseł, przechylając iloczyn skalarny na korzyść haseł o dużej trafności.

Jeśli chcesz trochę pogrzebać, Zarządzanie gigabajtami autor:Dzwonek i Moffet omawia wewnętrzną architekturę systemów wyszukiwania tekstu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zarządzać bazami danych, użytkownikami i tabelami MySQL z wiersza poleceń

  2. Docker Compose connect ECONNREFUSED 172.18.0.4:3306

  3. Zapytanie SQL zwraca dane z wielu tabel

  4. Kod błędu:1822, gdy typy danych są zgodne, z kluczem złożonym

  5. Różnica między LIKE i =w MYSQL?