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_request | la 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_request | la 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_request | la 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