Domanda

Ho questo campo di stelo:

<fieldtype name="textes" class="solr.TextField">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords-es.txt" enablePositionIncrements="true"/>
    <filter class="solr.SnowballPorterFilterFactory" language="Spanish" protected="protwords-es.txt"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/>
    <filter class="solr.SnowballPorterFilterFactory" language="Spanish" protected="protwords-es.txt"/>
  </analyzer>
</fieldtype>

Il risultato atteso della query di ricerca alquileres (affitti) sarebbe una corrispondenza di alquiler (affitto). Ma quando vado a "Field Analysis" nel sito amministratore di Solr e controllo un valore dell'indice di alquiler e un valore di query di alquileres, succede quanto segue:

  • Durante l'indicizzazione alquiler, viene colpito in alquil.
  • Durante la domanda alquileres, viene colpito in alquiler.

Quindi il semplice caso di cercare la forma plurale di una parola (alquileres) non corrisponderebbe alla sua forma singolare (alquiler).

Se l'indice e la query non dovrebbero essere stesse nello stesso stelo ( alquiler o alquil)? È una limitazione dell'algoritmo o un malinteso/errata configurazione da parte mia?

È stato utile?

Soluzione

La palla di neve che lo stabilisce è molto limitata ... otterresti un risultato migliore usando un dizionario (Hunspell Stemmer): http://wiki.apache.org/solr/hunspell

Altri suggerimenti

Questo link funziona correttamente per Alquileres

http://www.molinolabs.com/lematizador.html#alquileres

Uso Hunspell da OpenOffice e fa un lavoro eccellente.

Il mio esempio:

URL-Elastic/_analyze?analyzer=es_AR&text=alquileres

E ritorno:

{
  tokens:
  [
    {
      token: "alquiler",
      start_offset: 0,
      end_offset: 10,
      type: "<ALPHANUM>",
      position: 1
    }
  ]

}

Collegamento: https://www.openoffice.org/download/index.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top