Elasticsearch. NET поисковые записи начинаются со значения в строковом поле (NEST) - PullRequest
0 голосов
/ 02 августа 2020

У меня проблема с поиском на elasti c. Я использую библиотеку NEST для поиска и пытаюсь получить записи, в которых поле customername начинается с 'GÖKDEMİR' (например)

var response = await _elasticClient.SearchAsync<AccountAddressInfo>(p => p 
.Query(q => q
    .MatchPhrasePrefix(m => m
        .Field(f => f.CustomerName)
        .Query(filter.CustomerName)
        )
    ) 
.Size(101));

При этом поиске я получаю ответную запись, содержащую 'GÖKDEMİR' 'в поле customername, но я хочу, чтобы поля начинались с' GÖKDEMİR '. Как я могу это сделать.

1 Ответ

0 голосов
/ 03 августа 2020

Если ваше поле customername относится к типу term, тогда вы можете попробовать использовать только Prefix там, где вы используете MatchPhrasePrefix, например:

.Query(q => q
    .Prefix(m => m
        .Field(f => f.CustomerName)
        .Query(filter.CustomerName)
        )
    ) 
.Size(101));
...