In a website I am working on, there is an advanced search form with several fields, some of them dynamic that show up / hide depending on what is being selected on the search form.

Data expected to be big in the database and records are spread over several tables in a very normalized fashion.

Is there a recommendation on using a 3rd part search engine, sql server full text search, lucene.net, etc ... other than using SELECT / JOIN queries?

Thank you
['https://Stackoverflow.com/questions/9699529', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/248665/']
If you have multiple instances of `Passenger` class, I would go for making it static. While this has little benefit when talking about an `int` variable, this could save some memory if you have complex objects. This is because a static variable belongs to a class, not to an instance, thus memory space for it will be reserved only once, and it will be referred by the class object itself, not by the instances. Of course, you should be aware that having `b` as a static variable means that the changes made on this variable will be reflected on all the classes that access this variable, but since you made it `final` this won't be the case. 

Note also that with the code you've written, classes in the same package as `Passenger` will be able to read the `b` value by accessing it via `Passenger.b` (if static).
A `final` variable is defined when you need a constant, so you can assign a value just once.
Using `static`, instead, you are defining a variable shared by all the objects of that type (like a global variable) and it is not associated with a certain object itself.