Mam indeks Lucene, który zawiera dokumenty, które mają pole "typ", to pole może być jedną z trzech wartości "artykuł", "forum" lub " blog ". Chcę, aby użytkownik mógł wyszukiwać w tych typach (jest pole wyboru dla każdego typu dokumentu)Zapytanie Lucene - "Dopasuj dokładnie jeden z X, Y, Z"
Jak utworzyć zapytanie Lucene w zależności od typów wybranych przez użytkownika?
Kilka warunków są:
- Jeżeli użytkownik nie wybiera jeden z typów, chcę nie wyniki tego typu.
- Na uporządkowanie wyników nie powinno wpływać ograniczenie pola typu.
Dla porównania, gdybym miał napisać to w SQL (na „blogu lub forum szukaj”) bym napisać:
SELECT * FROM Docs
WHERE [type] in ('blog', 'forum')
To jest to, co zrobiłem na końcu, chociaż użyłem API zamiast tworzyć go jako ciąg, zobacz moją odpowiedź, jeśli jesteś zainteresowany. – thatismatt