SearchRequest


requesting

Selecciona el número especificado de resultados. Si no utiliza este método, se devuelve un máximo de 10 resultados.

Sintaxis

search_request requesting(int number)
search_requestla solicitud de búsqueda modificada

Ejemplo

solicita:
entity_type("foo").requesting(100) --> maximum 100 results

Ejemplo

solicita cadena de asociación:
subject.association1.requesting(5).association2.requesting(20) --> maximum 20 results

requesting_per_entity_type

Selecciona el número especificado de resultados que se buscan para el tipo de entidad anterior en esta solicitud de búsqueda. Se aplica cuando se especifican varios tipos de entidad o una asociación. Si sólo se especifica un tipo de entidad en la solicitud de búsqueda, este método se ignora. Si se especifica una solicitud de asociación y no utiliza este método, cada segmento de asociación busca un máximo de 250 entidades por segmento de asociación.

Sintaxis

search_request requesting_per_entity_type(int number)
search_requestla solicitud de búsqueda modificada

Ejemplo

solicita por tipo de entidad:
entity_types(["foo", "bar"]).requesting_per_entity_type(50) -> maximum of 50 for both "foo" and 50 "bar" searched

Ejemplo

solicita por asociaciones de tipo de entidad:
subject.association1.association2.requesting_per_entity_type(50) -> maximum of 250 for association1 (default) and maximum of 50 for association2 entity types searched

starting_at

Selecciona resultados a partir de la posición especificada en el conjunto de resultados. El parámetro debe ser un número mayor o igual que 0. Si no utiliza este método, la posición predeterminada es 0.

Sintaxis

search_request starting_at(int number)
search_requestla solicitud de búsqueda modificada

Ejemplo

a partir de:
entity_type("foo").starting_at(30) --> results are from 30 to 40 (if requesting is default 10)

where

Selecciona resultados según las filtros siguientes especificados por el parámetro query. El parámetro puede ser una serie o una expresión de consulta.

Sintaxis

search_request where(query/data_method/string query)

Ejemplo

donde es serie:
entity_type("foo").where("bar") --> returns entities of type "foo" with "bar" in it

Ejemplo

donde es consulta:
entity_type("foo").where(field("bar").contains_regex("a.+")) --> returns entities of type "foo" with values of field "bar" matching the regex

with_filter_query

Selecciona un conjunto especificado de resultados ejecutando el parámetro query antes de ejecutar la consulta principal. Esta consulta no afectará a la relevancia de los resultados reales. Varias llamadas a este método son equivalentes a combinar consultas con AND. El parámetro puede ser una serie o una expresión de consulta.

Sintaxis

search_request with_filter_query(query/data_method/string query)

Ejemplo

consulta de filtro simple:
entity_type("foo").with_filter_query(field("bar").exists) --> returns entities of type "foo" with a "bar" field without affecting result relevancy

set_query

Selecciona resultados según el parámetro query, que altera temporalmente las consultas previas en esta solicitud de búsqueda. El parámetro puede ser una serie o una expresión de consulta.

Sintaxis

search_request set_query(query/data_method/string query)

Ejemplo

establecer consulta:
entity_type("foo").where("foo").set_query("bar") --> returns entities of type "foo" that match "bar" ("foo" is ignored)

clustered

Habilita la agrupación en clúster de los resultados devueltos. Los resultados en clúster pueden recuperarse de la configuración de creación de facetas. Si no utiliza este método, los resultados no se agruparán en clúster en la configuración de creación de facetas.

Sintaxis

search_request clustered

Ejemplo

en clúster:
entity_type("foo").clustered --> allows retrieval of a facet id "%clustering%" from the faceting configuration

filter_duplicates

Habilita el filtrado de entidades duplicadas. Si no utiliza este método, se devuelven todos los resultados, incluidos los duplicados.

Sintaxis

search_request filter_duplicates

Ejemplo

filtrar duplicados:
entity_type("foo").filter_duplicates --> returns entities of type "foo" without duplicates

faceted_by

Especifica una configuración de creación de facetas. El parámetro es una expresión de creación de facetas.

Sintaxis

search_request faceted_by(facet_by/data_method facet_by)

Ejemplo

crear facetas por campo:
entity_type("foo").faceted_by( field("bar").then( sum("baz" ) ) ) --> allows the faceting configuration to contain results grouped by value of "bar" each with the sum of "baz"

sorted_by

Especifica una expresión de ordenación. El parámetro es una expresión de ordenación. El orden predeterminado es por relevancia. Utilice sorted_by( field("last_name").then( field("first_name") ) para combinar varias condiciones de ordenación. El orden de llamadas corresponde a la clasificación de ordenación.

Sintaxis

search_request sorted_by(sort_by/data_method sort_by)

Ejemplo

ordenar en orden descendente:
entity_type("foo").sorted_by(field("bar").in_descending_order) --> results sorted by value of "bar" in reverse order

Ejemplo

ordenar por varios:
entity_type("foo").sorted_by( field( "last_name" ).then( field( "first_name" ) ) ) --> results sorted by value of "last_name" then by "first_name"

selecting_fields

Especifica los campos denominados que se devuelven. Los campos especificados aquí alteran temporalmente (sobrescriben) los campos especificados en las llamadas anteriores al método selecting_fields. Si no utiliza este método, se devuelven todos los campos.

Sintaxis

search_request selecting_fields(array fields_array)

Ejemplo

seleccionar campos:
entity_type("foo").selecting_fields( [ "bar", "baz" ] ) --> contains only "bar" and "baz" fields in the results

generate_snippets

Genere fragmentos de código con esta solicitud. Los resultados de la búsqueda tendrán un campo "snippet" que contiene un breve fragmento del texto de la entidad.

Sintaxis

search_request generate_snippets

Ejemplo

generar fragmentos de código:
entity_type("foo").generate_snippets --> entities returned have an additional field called "snippet" available

search_similar_documents

Buscar en documentos similares con un conjunto de campos especificado o un ID de documento especificado.

Sintaxis

search_request search_similar_documents (ID de documento)
  
 o

search_request search_similar_documents_with_fields (hash de campos)    

Ejemplo

entity_type("foo").search_similar_documents(ID_documento)

entity_type("foo").search_similar_documents_with_fields({:title => "test", :body => "this is test"})

bold

Pone en negrita los campos y los fragmentos de código basándose en la consulta. Los resultados de la búsqueda tendrán etiquetas HTML alrededor de las partes coincidentes de la consulta. Este método no tiene ningún efecto a menos que se utilice con un método de filtrado como el método where.

Sintaxis

search_request bold

Ejemplo

coincidencias en negrita:
entity_type("foo").where("bar").bold --> entities returned have HTML tags surrounding "bar" in fields of the entity

with_relevance_formula

Especifique una ordenación predeterminada utilizando XPath para el último paso de la consulta. Una fórmula especificada aquí sobrescribe (sustituye) las fórmulas especificadas en llamadas anteriores al método with_relevance_formula(xpath).

Sintaxis

search_request with_relevance_formula(string xpath)

Ejemplo

fórmula de relevancia:
entity_type("foo").with_relevance_formula("-$score") --> reverses the order of the results

to_s

(Método Ruby) Devuelve una serie que representa la solicitud de búsqueda.

Sintaxis

string to_s

to_json

(Método Rails) Devuelve una representación JSON de la solicitud de búsqueda.

Sintaxis

string to_json

to_xml

(Método Rails) Devuelve una representación XML de la solicitud de búsqueda.

Sintaxis

string to_xml

each

(Método Ruby) Llama al bloque especificado una vez para cada resultado en los resultados de la búsqueda y pasa ese resultado como un parámetro. Se devuelve un enumerador si no se proporciona ningún bloque.


first

(Método Ruby) Devuelve el primer resultado de la búsqueda. Si los resultados están vacíos, devuelve un valor nulo.

Sintaxis

search_result first

empty?

(Método Ruby) Devuelve true si la solicitud de búsqueda no devuelve resultados.

Sintaxis

boolean empty?

total_results

Devuelve el número total de resultados. Si no puede calcularse, se devuelve el número real de resultados.

Sintaxis

int total_results

Ejemplo

resultados totales:
entity_type("foo").total_results --> integer that represents total results, not results returned

total_results_without_duplicates

Devuelve el número total de resultados después de la eliminación de duplicados. Si el número total no puede calcularse, se devuelve el número real de resultados. El valor devuelto normalmente sólo es significativo cuando se invoca el método filter_duplicates. El valor devuelto es probable que sea una aproximación, a menos que sea menor que la categorización del último resultado solicitado.

Sintaxis

int total_results_without_duplicates

Ejemplo

resultados totales sin duplicados:
entity_type("foo").filter_duplicates.total_results_without_duplicates --> integer that represents total results without duplicates

size

Devuelve el número de resultados que se devuelven realmente en esta solicitud. Es menor o igual que el número establecido por el método de la solicitud.

Sintaxis

int size

faceting

Devuelve una configuración de creación de facetas que representa la agrupación realizada en la solicitud.

Sintaxis

faceting faceting

Ejemplo

configuración de creación de facetas:
entity_type("foo").faceted_by( field("bar") ).faceting --> returns faceting configuration with "bar" as a facet