Elasticsearch пренебрегая специальными символами - PullRequest
0 голосов
/ 16 октября 2019

поиск слова вasticsearch работает нормально, но, похоже, игнорирует все специальные символы. Например, у меня есть данные (123) яблоко и 123 груша, но когда я запрашиваю «(123)», я ожидаю, что «(123) яблоко» будет первым, которое появится вместо «123 груши». Я попытался изменить токенизатор с стандартного токенизатора на пробел-токенизатор , но все еще не работает. Добрый совет. Спасибо!

Data: 
(123) apple
 123 pear

Query: "(123)"

Expected:
(123) apple
 123 pear

Actual result:
 123 pear
(123) apple

1 Ответ

0 голосов
/ 16 октября 2019

Я пробовал с токенайзером пробелов, он работал

PUT /index25
{
  "mappings": {
    "properties": {
      "message":{
        "type": "text",
        "analyzer": "my_analyzer"
      }
    }
  }, 
   "settings": {
      "analysis": {
         "analyzer": {
            "my_analyzer": {
               "type": "custom",
               "filter": [
                  "lowercase"
               ],
               "tokenizer": "whitespace"
            }
         }
      }
   }
}

Данные:

 [
      {
        "_index" : "index25",
        "_type" : "_doc",
        "_id" : "cIC70m0BD5PlkoxX1O0B",
        "_score" : 1.0,
        "_source" : {
          "message" : "123 pear"
        }
      },
      {
        "_index" : "index25",
        "_type" : "_doc",
        "_id" : "cYC70m0BD5PlkoxX9-3n",
        "_score" : 1.0,
        "_source" : {
          "message" : "(123) apple"
        }
      }
    ]

Запрос:

GET index25/_search
{
  "query": {
    "match": {
      "message": "(123)"
    }
  }
}

Ответ:

 [
      {
        "_index" : "index25",
        "_type" : "_doc",
        "_id" : "cYC70m0BD5PlkoxX9-3n",
        "_score" : 0.47000363,
        "_source" : {
          "message" : "(123) apple"
        }
      }
]

Запрос:

GET index25/_search
{
  "query": {
    "match": {
      "message": "123"
    }
  }
}

Ответ:

 [
      {
        "_index" : "index25",
        "_type" : "_doc",
        "_id" : "cIC70m0BD5PlkoxX1O0B",
        "_score" : 0.9808292,
        "_source" : {
          "message" : "123 pear"
        }
      }
    ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...