Эластичный поиск токена вне двойных кавычек - PullRequest
1 голос
/ 16 января 2020

У меня есть эластичный поиск с отображением, созданным следующим образом.

PUT /test
{
  "settings":{
      "analysis":{
         "analyzer":{
            "my_analyzer":{
               "filter":[
                  "lowercase"
               ],
               "type":"custom",
               "tokenizer":"my_tokenizer"
            }
         },
         "tokenizer": {
           "my_tokenizer": {
             "type": "char_group",
             "tokenize_on_chars": [
                "whitespace",
                ":"
              ]
           }
         }
      }
   },
   "mappings":{
      "properties":{
         "data":{
            "type":"text",
            "analyzer":"my_analyzer"
         }
      }
   }
}

Я хочу создать новый токен при обнаружении символа: и удалить его из данных. Но я хочу сделать это только в том случае, если он находится вне двойных кавычек ("). Есть ли способ сделать sh это?

1 Ответ

0 голосов
/ 17 января 2020

Имхо, вы можете либо попытаться express использовать его с помощью регулярных выражений и токенайзера (https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-pattern-tokenizer.html), либо ... go через ад писать собственный токенизатор и пытаться добавить его в Ваша установка эластичного поиска.

...