Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Calculadora

0

87
Vistas
postgres sphinx search order

I have a postgres install with Sphinx and when I run query I want that most relevant records to be selected first. In other words, I want the following query first:

query="word1 & word2 & word3"

and then, if nothing selected,

query="word1 | word2 | word3"

How to configure sphinx for that needs? Sphinx config is default

8 months ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Well https://github.com/andy128k/pg-sphinx says

sphinx_select(
/*index*/     varchar,
/*query*/     varchar,
/*condition*/ varchar,
/*order*/     varchar,
/*offset*/    int,
/*limit*/     int,
/*options*/   varchar)

And from http://sphinxsearch.com/docs/current.html#sphinxql-select you want a OPTIONS clause to change the ranking (a ranker option)

http://sphinxsearch.com/docs/current.html#weighting

So would try

sphinx_select(...., "word1 | word2 | word3", ..., "ranker=wordcount")

(edited to show the query in place too, need the OR query for this to work! see comments above)

(wordcount ranker, is very basic, but should do the exact criteria you want)

But can play with custom expressions, not great, but get you started...

sphinx_select(....,  "ranker=expr('sum(word_count+hit_count+lccs+exact_order)+bm25')")

MUCH more detail... http://sphinxsearch.com/blog/2010/08/17/how-sphinx-relevance-ranking-works/

8 months ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar empleo Planes Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2023 PeakU Inc. All Rights Reserved.