Lucene supports fields of data. When performing a search you can either specify a field, or use the default field. The field names depend on indexed data and default field is defined by current settings.
The first and most significant difference from Java Lucene is that terms are searched through all fields by default.
There are two static methods in the
which allow the developer to configure these settings:
$defaultSearchField = Zend_Search_Lucene::getDefaultSearchField();
NULL value indicated that the search is performed across all
fields. It's the default setting.
You can search specific fields by typing the field name followed by a colon ":" followed by the term you are looking for.
As an example, let's assume a Lucene index contains two fields- title and text- with text as the default field. If you want to find the document entitled "The Right Way" which contains the text "don't go this way", you can enter:
title:"The Right Way" AND text:go
title:"Do it right" AND go
Because "text" is the default field, the field indicator is not required.
Note: The field is only valid for the term, phrase or subquery that it directly precedes, so the query
title:Do it right
Will only find "Do" in the title field. It will find "it" and "right" in the default
field (if the default field is set) or in all indexed fields (if the default field is