Elasticsearch сам игнорирует специальные символы в строке запроса. Как я могу избежать этого?

Как упоминалось в комментариях, методы, которые вы используете, когда условие истинно, применимы только к документам Google и будут терпеть неудачу, если вы попытаетесь использовать их в других типах файлов.

Чтобы это просто не добавить второе условие в вашем коде:

if (filename == targetFile && file.getMimeType()=="application/vnd.google-apps.document") {

с вышеуказанной модификацией вы больше не получите ошибок, но есть вероятность, что вы не сможете открыть цель, которую вы пытались, потому что она не была правильный тип mime.

0
задан Tanya verma 13 July 2018 в 08:32
поделиться

1 ответ

Вы должны взглянуть на раздел окончательного руководства по анализу , так как это очень важно для понимания поведения вашего индекса.

По умолчанию ваше поле анализируется с использованием стандартный анализатор , который разбивает слова на дефис.

. Очень простой анализатор, который следует понимать, представляет собой анализатор пробелов , который разбивает входные данные на токены в пробелах символов.

Вы можете попробовать этот пример:

POST /solution
{
  "mappings":{
    "doc": {
      "properties":{
        "subject": {
          "type": "string",
          "analyzer": "whitespace"
        }
      }
    }
  }
}

GET /solution/_analyze
{
  "field": "subject",
  "text": "This is about abdominal-scan"
}

, который выводит:

{
  "tokens": [
    {
      "token": "This",
      "start_offset": 0,
      "end_offset": 4,
      "type": "word",
      "position": 0
    },
    {
      "token": "is",
      "start_offset": 5,
      "end_offset": 7,
      "type": "word",
      "position": 1
    },
    {
      "token": "about",
      "start_offset": 8,
      "end_offset": 13,
      "type": "word",
      "position": 2
    },
    {
      "token": "abdominal-scan",
      "start_offset": 14,
      "end_offset": 28,
      "type": "word",
      "position": 3
    }
  ]
}

Вы можете видеть, что ваш дефис сохраняется в этом случае.

0
ответ дан ThomasC 17 August 2018 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: