Elasticseach несколько индексов предложения - PullRequest
0 голосов
/ 20 сентября 2018

У меня следующая проблема.Это на самом деле моя реализация запроса "ты имел в виду".Если я использую только один индекс, результаты подходят идеально.Если я использую несколько индексов , я не получу никаких результатов.

Работает ли этот запрос только для отдельных индексов?

GET index1/_search
{
  "suggest": {
    "text": "exmple",
    "multi_phrase": {
      "phrase": {
        "field": "all",
        "size": 5,
        "gram_size": 3,
        "collate": {
          "query": {
            "source": {
              "bool": {
                "must": [
                  {
                    "match_all": {}
                  }
                ],
                "filter": {
                  "multi_match": {
                    "query": "{{suggestion}}",
                    "type": "cross_fields",
                    "fields": [
                      "name",
                      "name2"
                    ],
                    "operator": "AND",
                    "lenient": true
                  }
                }
              }
            }
          },
          "params": {
            "field_name": "all"
          }
        }
      }
    }
  }
}

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

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 2,
    "successful": 2,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": 0,
    "max_score": 0,
    "hits": []
  },
  "suggest": {
    "multi_phrase": [
      {
        "text": "example",
        "offset": 0,
        "length": 9,
        "options": []
      }
    ]
  }
}

1 Ответ

0 голосов
/ 20 сентября 2018

Я нашел решение самостоятельно.Я должен использовать параметр достоверности .

Уровень достоверности определяет коэффициент, применяемый к оценке входных фраз, который используется в качестве порога для других предполагаемых кандидатов.Только кандидаты, набравшие баллы выше порога, будут включены в результат.Например, уровень достоверности 1,0 будет возвращать только предложения с оценкой выше, чем входная фраза.Если установлено значение 0.0, возвращаются первые N кандидатов.По умолчанию установлено значение 1,0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...