Проблема ElasticSearch с запросом многозначного свойства - PullRequest
1 голос
/ 03 апреля 2012

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

curl -X GET «http://mncoboss13:9200/boss_model_reservations/_search?pretty=true" -d '{"query": {"match_all": {}}, "filter": {"и": [{"term": {"day_plan": ["MO"]}}]}, "size" : 100, "от": 0} '

Результат:

{"взял": 2, "timed_out": ложь, "_shards": { «всего»: 5, «успешно»: 5, "fail": 0}, "hit": { «всего»: 0, "max_score": ноль, "hit": []}}

Вот как я проиндексировал документ (обратите внимание, что day_plan - это массив строк). Обратите внимание, что даже в приведенном ниже примере в нем есть day_plan с MO; однако, учитывая вышеупомянутый поиск, не возвращается. Что-то не так с моим фильтром?

http://mncoboss13:9200/boss_model_reservations/_search?pretty=true&q=*&size=1

{
        "took" : 2,
        "timed_out" : false,
        "_shards" : {
          "total" : 5,
          "successful" : 5,
          "failed" : 0
        },
        "hits" : {
          "total" : 27493,
          "max_score" : 1.0,
          "hits" : [ {
            "_index" : "boss_model_reservations",
            "_type" : "boss_model_reservation",
            "_id" : "779588",
            "_score" : 1.0, "_source" : {"name":"","upccode":"701592001542","publish":true,"reservation_type":"class","time_start":37200.0,"time_end":39000.0,"date_start":"2012-07-19","date_end":"2012-07-30","day_plan":["MO","TU","WE","TH"]}
          } ]
        }
      }

ОБНОВЛЕНИЕ: отображение типов для этого индекса здесь:

{
  "boss_model_reservations" : {
    "boss_model_reservation" : {
      "properties" : {
        "date_end" : {
          "type" : "date",
          "format" : "dateOptionalTime"
        },
        "date_start" : {
          "type" : "date",
          "format" : "dateOptionalTime"
        },
        "day_plan" : {
          "type" : "string"
        },
        "format_id" : {
          "type" : "long"
        },
        "interest_id" : {
          "type" : "long"
        },
        "name" : {
          "type" : "string"
        },
        "option1" : {
          "type" : "string"
        },
        "option2" : {
          "type" : "string"
        },
        "option3" : {
          "type" : "string"
        },
        "product_line_id" : {
          "type" : "long"
        },
        "product_type" : {
          "type" : "string"
        },
        "publish" : {
          "type" : "boolean"
        },
        "reservation_type" : {
          "type" : "string"
        },
        "resource" : {
          "type" : "string"
        },
        "resource_type" : {
          "type" : "string"
        },
        "time_end" : {
          "type" : "double"
        },
        "time_start" : {
          "type" : "double"
        },
        "upccode" : {
          "type" : "string"
        }
      }
    }
  }
}

1 Ответ

3 голосов
/ 03 апреля 2012

Какое отображение типа для "boss_model_reservation"?Термин фильтр предполагает, что поле "day_plan" не анализируется.

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