PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL използва ли tf-idf?

Не. В рамките на функцията ts_rank няма собствен метод за класиране на резултатите, използвайки тяхната глобална (корпусна) честота. Алгоритъмът за класиране обаче класира въз основа на честотата в документа:

http://www.postgresql.org/docs/9.3/static /textsearch-controls.html

Така че, ако търся „куче|чихуахуа“, следните два документа ще имат същия ранг въпреки относително по-ниската честота на думата „чихуахуа“:

"I want a dog"
"I want a chihuahua"

Въпреки това, следният ред ще бъде класиран по-високо от предишните два реда по-горе, тъй като съдържа токена „куче“ с корен два пъти в документа:

"dog lovers have an average of 1.5 dogs"

Накратко:по-високата честота на термина в документа води до по-висок ранг, но по-ниската честота на термина в корпуса няма влияние.

Едно предупреждение:търсенето на текст игнорира стоп-думите, така че няма да съвпадате с ултрависокочестотни думи като "the", "a", "of", "for" и т.н. (ако приемем, че сте задали правилно езика си)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Проблем при Hibernate Native Query с именувани параметри

  2. gem install pg не може да се свърже с libpq

  3. Синтактична грешка в края на въвеждането в PostgreSQL

  4. ГРЕШКА:не можах да осъществи достъп до файл “$libdir/plpython2” – ГРЕШКА:не можа да получи достъп до файл “$libdir/plpython3”

  5. Как да направите PostgreSQL заявка с клауза where-in, която съдържа множество колони програмно?