2015-07-23 4 views
2

Я ищу через несколько полей в запросе с помощью * звездочки обозначения (Ex: Я хочу все поля пусков с source так уточняют полей source.*) и указует запрос foobar как строка. Я использую запрос типа Query String.ElasticSearch: Поиск по нескольким полям с входными строками (NumberFormatException)

Я продолжаю получать NumberFormatException, и у меня есть некоторые поля там, где есть тип отображения long и double.

Любая идея, как это сделать? Мне нужно сделать многопользовательский поиск.

Мой запрос размещен ниже:

{ 
    "query": { 
     "bool": { 
      "must": [{ 
       "query_string": { 
        "default_field": "source.*", 
        "query": "foobar" 
       } 
      }], 
      "must_not": [], 
      "should": [] 
     } 
    }, 
    "from": 0, 
    "size": 100000, 
    "sort": [], 
    "facets": {} 
} 
+0

А вы ожидали, не получить исключение при попытке сравнить строку с числовым полем? – bittusarkar

+0

Можно ли увидеть отображение? –

+0

@bittusarkar Я надеялся, если бы работала. Я ожидал получить исключение. – user1757703

ответ

3

установить lenient в правда игнорировать неудачи на основе формата

пример:

"query_string": 
{ 
     "default_field": "source.*", 
     "query": "foobar", 
     "lenient": true 

}