В методе getService
вы должны использовать var ItemList = Res.Value;
вместо var ItemList = Res.Result;
public async Task<List<items>> getService(List<string> ids)
{
var IdentificationIdsToOrder = new JObject();
foreach (var id in ids)
{
var newId = new JProperty("ids", id);
IdentificationIdsToOrder.Add(newId);
}
_controller = new getitems();
var Res = await _controller.getitems();
var ItemList = Res.Value;
return ItemList;
}
Если у вас enable_star
не установлено 1 и min_prefix_len
или min_infix_len
установлен в 1 или более, вы не получите B, чтобы соответствовать Балтимору (и даже тогда, я думаю, вам нужно искать B *, чтобы получить совпадение).
Что происходит здесь, так это то, что по умолчанию , Thinking Sphinx говорит Sphinx использовать английский стеммер, который позволяет подобным словам (по символам, а не по значению) считаться совпадающими, поэтому он ставит Baltimor и Baltimore в той же корзине.
Если вы хотите, чтобы любая часть любого слова соответствовала, то вам нужно поместить что-то вроде следующего в config / sphinx.yml:
development:
enable_star: 1
min_infix_len: 1
test:
enable_star: 1
min_infix_len: 1
production
enable_star: 1
min_infix_len: 1
Затем остановите Sphinx, переиндексируйте, и перезапустите Сфинкса. Как только вы это сделаете, поиск B * вернет Балтимор.
Надеюсь, это поможет.