Puncte:1

Is there a way to default sort by date when no search keywords have been used, but default sort by relevance for all searches?

drapel pe

At present, my project has default search pages for sections of the site. They are per-content type. When the user goes the "search page" for the content type, they see a views-generated search result page unfiltered by any keywords. In other words, it displays all the items for that content type. The view:

has expose form in a block enabled settings on the exposed form has 'input required' disabled

What I want to happen...

I'd like users to

  • see the unfiltered search result page sorted by newest first. At present, this page, if set to relevance, shows old content first.
  • automatically switch to relevance sorting when they enter keywords and execute a search. At present, I've set the first sort to date, to solve the 'old content first' problem, so users have to manually change the sort to relevance when doing a search.

Some options... I could separate the list pages from the search result pages. My question is, is there a way to make an unfiltered "search result" views page show the newest content first, while having the default sort actually set to relevance, so nobody has to manually change it? How does that sort really work when there aren't any keywords to supply "relevance"?

My config basics...

  • Drupal 9.3.7
  • search_api
  • facets
  • search_api_solr
Puncte:0
drapel pe

Cred că am o singură soluție. Rămân interesat să știu dacă există o cale mai bună. Iată ce pare să funcționeze până acum:

În secțiunea de sortare a vizualizării, am aceste câmpuri, în această ordine:

  • Relevanță (descrescătoare): expus
  • Câmp pentru dată (descrescător): expus
  • Câmp pentru dată (același, descrescător): nu este expus

După ștergerea cache-urilor (important), rezultatul pare să fie că navigarea către pagina cu rezultatele căutării fără a efectua o căutare, listează tot conținutul (după cum este filtrat) în funcție de „Câmpul de dată” descendent, dar formularul de căutare și sortarea expusă indică relevanță. Când introduc termeni și lansez căutarea, revine relevanța sortată.

Nu sunt sigur de ce funcționează, totuși. Pe pagina de configurare a vizualizărilor, interogarea fără cuvinte cheie arată astfel:

Index: main_index
Taste: NULL
Conditii:
  [
    stare = 1
  ȘI
    tastați matrice IN (
          'resource' => 'resursa',
        )
  ]
Sortare: search_api_relevance DESC, field_display_date DESC
Opțiuni: matrice (
    'search_api_view' => 'obiect (Drupal\views\ViewExecutable)',
    'search_api_base_path' => 'căutare/resurse',
  )

S-ar putea să aflu mai multe din jurnalul de interogări mysql, dar recunosc: nu sunt niciodată sigur că înțeleg ce văd acolo.

drapel pe
Am un tip de conținut în care configurația de mai sus nu are același rezultat. Inca habar nu de ce.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.