Я пытаюсь использовать текстовый поиск postgresql. Я создал столбец ts_vector, используя существующие два столбца таблицы, и индексировал этот столбец, используя индекс GIN. Теперь, когда я запрашиваю, я заметил странное поведение, оценка запроса снижается, когда я использую такие операторы, как «&» или «|» в функции to_tsquery.
Для 1 миллиона записей: -
- объяснить название заголовка, тело из xyz ff где search_vector @@ to_tsquery ('engli sh', 'apps' ); -> оценка около 300
- объяснить название заголовка, тело из xyz ff, где search_vector @@ to_tsquery ('engli sh', 'apps & apps'); -> оценка около 30
Это поведение, которое я не могу понять, разница в запросах использует оператор, если я изменю его на «приложения и арендатор», тогда также оценка будет около 30, но для поиска по одному слову оценка высокая. Может кто-нибудь объяснить, пожалуйста, это поведение и причину этого.
Заранее спасибо.