me gustaría reproducir la siguiente consulta Solr crudo con las manchas solaresMancha solar: ¿cómo hacer una consulta de texto completo en múltiples campos con diferentes valores?
q=exact_term_text:foo OR term_textv:foo* OR alternate_text:bar*
pero no soy capaz de entender si y cómo esto es posible, a través de la interfaz estándar de manchas solares, ya que parece que:
fulltext
el método no parece aceptar varios argumentos de texto search_fields/- no sabría qué argumento a pasar como el primero en
fulltext
, como si paso o bien"foo"
o"bar"
la re los resultados no coincidirían - Si paso un argumento vacío, obtengo un
q=*:*
- filtros de ámbito (p.
with(:term).starting_with('foo*')
son (como su nombre lo indica) aplicadas como consultas de filtro, y por lo tanto no toman parte en la puntuación.
Parece posible componer a mano la cuerda (o posiblemente usar adjust_solr_params
), pero eso parece hackish. ¿Hay una mejor solución?
usando (borde) N-gramas no es exactamente la misma cosa porque no me dejaron diferenciar entre consultas mediante programación, donde una coincidencia parcial es aceptable y no sin indexación el mismo campo dos veces. Parece que el uso de susnpot del controlador de consultas dismax no me permite hacer consultas de lucene sin soluciones de hack, así que estoy aceptando la respuesta de todos modos, gracias. – riffraff
En la documentación sobre manchas solares en https://github.com/sunspot/sunspot/wiki/Fulltext-search, se establece explícitamente: "Tenga en cuenta que el método' keywords' no se debe invocar varias veces en una búsqueda; las llamadas sucesivas sobrescribirán el palabras clave previamente especificadas ". * ('keywords' tiene el alias de' fulltext', son el mismo método). * De acuerdo con los autores, su solución no funcionará ... sin embargo, parece funcionar perfectamente. Hmmm, alguien está mintiendo. – Jazz
Quizás el texto completo no se deba invocar en el mismo campo dos veces. – juanpastas