instalar - Utilice la consulta de funciones para aumentar la puntuación en Solr
instalar solr (2)
Estoy trabajando en un Solr 4 para optimizar mi rango de resultados de solr según el rango de popularidad almacenado en Index.
Ahora cuando alguien busca, además del rango de relevancia, quiero influir en el rango de relevancia usando el rango de popularidad. La fórmula más simple podría ser:
nuevo rango de relevancia = puntaje * popularityrank
He estado buscando en la consulta de la función de Solr en http://wiki.apache.org/solr/FunctionQuery#product para lograr lo mismo, sin embargo, no estoy seguro de cómo hacerlo funcionar. No obtuve cómo obtener puntaje multiplicado usando la función del producto. Al tratar de hacerlo, siempre obtengo el error como campo no definido.
Ahora puedo usar boost como se define aquí Cómo aumentar los campos en solr , pero tengo una lógica / requisito adicional en el que quiero usar la consulta funcional proporcionada por Solr.
Por ejemplo, he intentado con seguir una simple consulta que parece funcionar
http://solr:8983/solr/select?q=hp%20laptop&defType=edismax&fl=Id,Name,score&bf=product%28$v1,$v2%29&v1=Id&v2=2
Ahora, para mi requisito real, quiero tomar la puntuación como $ v2, sin embargo, no puedo encontrar cómo hacerlo.
Cualquier ayuda es altamente apreciada.
Puede intentar usar el _val_
hook provisto por Solr.
Por ejemplo, para ordenar por score * popularityrank
, intente usar esto
http://solr:8983/solr/select?q=hp%20laptop&_val_="product(score,popularityrank)"
Use la función query () para obtener el valor de ''puntuación''.
Entonces, si está intentando hacer esto: new_score = score * popularity , use el siguiente formato.
q = searchterm & sort = producto (consulta ($ q), popularidad) desc
consulta ($ q) - devuelve la puntuación TF-IDF para la consulta. Entonces esto es equivalente a usar el campo ''puntuación''.