2016-01-15 2 views
0

Вы можете сделать запрос range на string, используя nest в последней версии 2.0 alpha? Или это было опущено в поиске elastics.Elasticsearch - Nest - запрос 'Range' на 'string'

Documentation - предполагает, что все еще находится в самом Elasticsearch

однако

Range - кажется, только принимает 'двойной'.

E.g.

... 
(sh => sh.Range(ra => ra.Field(of => 
    of.Name).LessThanOrEquals(
     !string.IsNullOrEmpty(textInputName) 
      ? textInputName.ToString(): null 
    )) 
... 

Используется для работы в 1.7 Nest, но теперь говорит, что вход для LessThanOrEquals должен быть double.

Как мне получить все, где «имя» находится между, например, «a» и «f»?

Edit:

Я думаю, что он был удален here в файле src/Nest/QueryDsl/TermLevel/Range/RangeQuery.cs ... просто не могу найти «почему» ....: S

+0

Связанная с этим проблема была https://github.com/elastic/elasticsearch-net/issues/1611, но на самом деле не упоминается и то и другое. – Val

+0

Спасибо, что подняли это, похоже, что это было случайно удалено. Я открыл для него проблему https://github.com/elastic/elasticsearch-net/issues/1728. Метод 'Range()' работает с числовыми полями с помощью метода DateRange() 'для работы с полями даты –

ответ

0

Диапазон запросов на строковых полей теперь в the alpha2 release on nuget

(sh => sh 
    .TermRange(ra => ra 
     .Field(of => of.Name) 
     .LessThanOrEquals(!string.IsNullOrEmpty(textInputName) 
      ? textInputName.ToString() 
      : null) 
) 
Смежные вопросы