эластичный синоним поиска, как сопоставить все свойства - PullRequest
0 голосов
/ 14 декабря 2018

Я создал новые синонимы для своего индекса, и я использую строку запроса, которая не работает в соответствии с эластичным документом. Все включены по умолчанию. Но когда я сопоставляю с определенными свойствами, он работает, мы используем строку запроса и запрос, чтобы получитьданные

1) Созданы синонимы и индекс

PUT /laptops/
{
    "settings": {
        "index" : {
            "analysis" : {
                "filter" : {
                    "synonym_filter" : {
                        "type" : "synonym",
                        "synonyms" : [
                            "laptop, notebook"
                        ]
                    }
                },
                "analyzer" : {
                    "synonym_analyzer" : {
                        "tokenizer" : "standard",
                        "filter" : ["lowercase", "synonym_filter"] 
                    }
                },
           "mappings": {
          "doc": {
      "_all": {
        "enabled": true,
        "analyzer": "synonym_analyzer" 
      }
            }
        }
    } 
}
}
}

2 добавлены данные в индекс

PUT /laptops/doc/1?pretty&pretty
{
  "title": "Laptop X1 i7 8gb RAM "
}

PUT /laptops/doc/2?pretty&pretty
{
  "title": "Laptop X2 i5 4gb RAM "
}
PUT /laptops/doc/3?pretty&pretty
{
  "title": "Laptop X3 i3 2gb RAM "
}
PUT /laptops/doc/4?pretty&pretty
{
  "title": "Laptop Z1 i7 6gb RAM "
}

3 Я использую строку запроса для получения данных

GET  /laptops/_search?pretty
{
  "query": {
    "query_string": {
      "query": "notebook"
    }
  }
}
...