У меня есть набор записей. Каждая запись может иметь несколько навыков и одно состояние.
Таким образом, у вас может быть список навыков a, b и c и штата Виктория.
Мне нужно иметь возможность искать в каталоге любые записи, в которых есть скилл a в Виктории или a и c в Виктории.
У меня проблемы с созданием эффективного каталога, который позволит мне выполнять поиск так, как я хочу.
Сначала я создал каталог с skills: a b c state:vic
тогда я попробовал skills: a,b,c state:vic
Но их поиск не дает мне правильных результатов. На самом деле, когда у меня есть запрос;
skills:a,b AND state:vic,
skills: a OR b AND state:vic,
skills: a OR skills:b AND state:vic
все вышеперечисленное возвращает набор записей для skills: a AND state:vic
.
Есть мысли?
EDIT
С тех пор, как я опубликовал это, я получил его на работу, но не уверен, что это правильный подход.
Я объединил все навыки в одном поле и разделил их. Навыки в формате GUID.
Тогда в моем методе поиска я делаю это;
queryString = "skills:(skill1 OR skill2 OR skill3) AND state:Vic";
Query query = parser.Parse(queryString);
Это прекрасно работает, и это очень быстро, но действительно ли создание queryString является подходом для этого или есть лучший способ?