Pregunta

Estoy buscando usar ElasticSearch para proporcionar las funciones de búsqueda de nuestro sitio.

He estado experimentando con él, pero no puedo habilitar el analizador de Porterstem (para que una búsqueda de combates de peleas y peleas).

Aquí hay una caída de mi entrada.

curl -XPUT localhost:9200/local/ -d'
index :                     
    analysis : 
        analyzer : 
            stemming : 
                type : custom 
                tokenizer : standard 
                filter : [standard, lowercase, stop, porterStem] 
'

curl -XPUT localhost:9200/local/_mapping -d'{"properties": { "title" : { "analyzer" : "stemming", "type" : "string" }}}'

curl -XPUT localhost:9200/local/article/1 -d'{"title": "Fight for your life"}'
curl -XPUT localhost:9200/local/article/2 -d'{"title": "Fighting for your life"}'
curl -XPUT localhost:9200/local/article/3 -d'{"title": "My dad fought a dog"}'
curl -XPUT localhost:9200/local/article/4 -d'{"title": "Bruno fights Tyson tomorrow"}'

Sin embargo, ejecutar una búsqueda de 'lucha' solo coincide con la primera entrada, la que contiene el término exacto.

curl -XGET localhost:9200/local/_search?q=fight

La configuración correcta parece haberse configurado, pero no parece funcionar.

  "indices" : {
    "local" : {
      "aliases" : [ ],
      "settings" : {
        "index.analysis.analyzer.stemming.type" : "custom",
        "index.analysis.analyzer.stemming.tokenizer" : "standard",
        "index.analysis.analyzer.stemming.filter.1" : "lowercase",
        "index.analysis.analyzer.stemming.filter.0" : "standard",
        "index.analysis.analyzer.stemming.filter.3" : "porterStem",
        "index.analysis.analyzer.stemming.filter.2" : "stop",
        "index.number_of_shards" : "5",
        "index.number_of_replicas" : "1"
      },

¿Alguien tiene esta funcionalidad en funcionamiento y capaz de señalarme en la dirección correcta?

¿Fue útil?

Solución

Hay un ejemplo de configuración en el uso de analizadores personalizados, utilizando Snowball Stemmer:Por qué Elasticsearch no está encontrando mi término

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top