Hello,

What does your schema look like? Have you defined a  "catch all" field and
copy every value from all your other fields in it with a <copyField />
directive?

Cheers,
-- Savvas

On 8 October 2010 08:30, Subhash Bhushan <subhash.bhus...@stratalabs.in>wrote:

> Hi,
>
> I have two fields in the bean class, id and title.
> After adding the bean to SOLR, I want to search for, say "kitten", in all
> defined fields in the bean, like this -- query.setQuery( "kitten"); --
> But I get results only when I affix the bean field name before the search
> text like this -- query.setQuery( "title:kitten"); --
>
> Same case even when I use SolrInputDocument, and add these fields.
>
> Can we search text in all fields of a bean, without having to specify a
> field?
> If we can, what am I missing in my code?
>
> *Code:*
> Bean:
> -----------------------------------
> public class SOLRTitle {
> @Field
> public String id = "";
>  @Field
> public String title = "";
> }
> -----------------------------------
> Indexing function:
> -----------------------------------
>
> private static void uploadData() {
>
> try {
> ... // Get Titles
>                        List<SOLRTitle> solrTitles = new
> ArrayList<SOLRTitle>();
> Iterator<Title> it = titles.iterator();
> while(it.hasNext()) {
> Title title = (Title) it.next();
> SOLRTitle solrTitle = new SOLRTitle();
> solrTitle.id = title.getID().toString();
> solrTitle.title = title.getTitle();
> solrTitles.add(solrTitle);
> }
> server.addBeans(solrTitles);
> server.commit();
> } catch (SolrServerException e) {
> e.printStackTrace();
> } catch (IOException e) {
> e.printStackTrace();
> }
> }
> -----------------------------------
> Querying function:
> -----------------------------------
>
> private static void queryData() {
>
> try {
> SolrQuery query = new SolrQuery();
> query.setQuery( "kitten");
>
>    QueryResponse rsp = server.query( query );
>    List<SOLRTitle> beans = rsp.getBeans(SOLRTitle.class);
>    System.out.println(beans.size());
>    Iterator<SOLRTitle> it = beans.iterator();
>    while(it.hasNext()) {
>     SOLRTitle solrTitle = (SOLRTitle)it.next();
>     System.out.println(solrTitle.id);
>     System.out.println(solrTitle.title);
>    }
> } catch (SolrServerException e) {
> e.printStackTrace();
> }
> }
> --------------------------------------
>
> Subhash Bhushan.
>

Reply via email to