La búsqueda de Solr está devolviendo coincidencias de cadenas parciales

Usando Solr 3.6.1, tengo este campo en mi schema.xml:

<field name="names" type="text_general" indexed="true" stored="false" multiValued="true"/>
<dynamicField name="names_*" type="text_general" indexed="true" stored="true"/>

La documentación en el esquema.xml establece que "text_general" debería:

  • tokenizar con StandardTokenizer
  • elimina las palabras stop de mayúsculas y minúsculas "stopwords.txt" (que actualmente está vacío)
  • abajo casos la cadena.
  • Solo en el momento de la consulta, también aplica sinónimos (que también está vacío en este momento)

Tengo dos documentos indexados en Solr con estos datos para el campo:

<!-- doc 1 -->
<str name="names_data">Name ABC Dev Loc</str> 

<!-- doc 2 -->
<str name="names_data">Name ABC Dev Location</str>

Cuando ejecuto la siguiente consulta:

id:(doc1 OR doc2) AND names:Dev+Location)

Ambos documentos son devueltos. Hubiera esperado que solo doc2 hubiera sido devuelto en base a mi comprensión de cómo funciona el StandardTokenizer de Solr.

¿Por qué "Dev + Location" coincide con "Dev Loc" y "Dev Location"?

Respuesta 1

El tipo text_generalprobablemente está configurado para usar un stemmer , que se trata Loccomo una variante de Location.

Puede configurar el tipo para que no use un stemmer, o intente buscar la cadena completa usandonames:"Dev Location"

Respuesta: 2

Creé el método update () que usa JPA. Se ve así: la actualización pública booleana (programa Programy) genera una excepción {try {entityManagerFactory = Persistence ....

Estoy desarrollando una aplicación con Java que necesita encontrar dos enteros grandes (Y y Z) que cumplan estas dos condiciones: Y ^ k <N y Z ^ j <N <Z ^ (j + 1) N, k y j son conocidos . N es un gran número entero (...

Me gustaría cargar una imagen en mi programa, pero de inmediato mi jar ejecutable también podrá hacerlo. Tan nuevo ImageIcon (URL); a JLabel realmente no funciona. Todos mis archivos java están en la carpeta src, en ...

Tengo un problema para que xjc genere una clase con una extensión de grupo de elección que mantenga el orden. El siguiente esquema es un ejemplo. <xs: complexType name = "base"> <xs: elección ...