Umbraco Examine - не работает запрос целых чисел

Я использую Umbraco v.7.6.1 с Examine v0.1.82 (Lucene 2.9.4.1). У меня есть список транспортных средств и форма поиска для запроса различных типов полей, включая цену. Поле Price является числовым полем данных, а в ExamineIndex определяется как:

<add Name="price" Type="INT" />

Проблема при поиске ценового диапазона, у меня нет результатов. Используя инструмент Examine Management в бэк-офисе Umbraco со следующим запросом:

+price:[50 TO 500000]

не дает результатов, хотя у меня есть автомобили в этом ценовом диапазоне.

Если я изменю индекс Examine и удаляю тег Type="INT" из поля цены, то запрос диапазона работает как обычный запрос диапазона строки и возвращает результаты.

Запрос работает правильно для всех строковых полей.

Согласно всему, что я прочитал в документации и предыдущих вопросах / ответах об Examine, это должно работать с версией Examine, которую я использую. Что может быть не так?

1 ответ

Я полагаю, вы ищете в бэк-офисе после установки его INT в ExamineIndex.config файл под IndexUserFields, Бэк-офис не будет показывать результат, если вы передадите прямой запрос. Я столкнулся с тем же. Вы должны запросить код выброса, и он покажет результат.

Пожалуйста, установите <add Name="price" Type="Int" /> в конфигурационном файле. Я надеюсь, что дело не будет иметь проблемы, как INT или же Int,

Тогда запрос из кода, как показано ниже

var searcher = Examine.ExamineManager.Instance.SearchProviderCollection["SearcherName"];
var searchCriteria = searcher.CreateSearchCriteria();

var query = searchCriteria.Range("price", 50, 500000, true, true);
var results = searcher.Search(query.Compile());

Пожалуйста, перестройте индекс перед запросом.

Другие вопросы по тегам