Hello everyone,

How could I index "all" fields of my classes to make searching them
easier ?
For example, I have the following class :

    [Indexed(Index="Index")]
    public class MyEntity
    {
        [DocumentId]
        public virtual long Id { get; set; }

        Field(Index.Tokenized, Store = Store.Yes)]
        public virtual string Title { get; set; }

        [Field(Index.Tokenized, Store = Store.Yes)]
        public virtual string Description { get; set; }
    }

I would like to index both Title and Description in an "AllFields"
Field, so when I want to search in any fields, I just query
"AllFields:something". It's easy to do directly in Lucene.Net, but I
can't find a way to do the same in NHibernate.Search.

I've tried :
1 - Putting an attribute [Field(Index.Tokenized, Store = Store.Yes,
Name="All")] on all fields that I want indexed that way, but
ScopedAnalyzer throws an exceptionon line 26 : scopedAnalyzers.Add
(scope, analyzer);
So i've added "if( !scopedAnalyzers.ContainsKey( scope ) )" just
before. But I don't like it very much...
2 - Modifying DocumentBuilder.cs, line 392, by adding :
        propertiesMetadata.fieldBridges[i].Set(
            "AllFields",
            value,
            doc,
            propertiesMetadata.fieldStore[i],
            propertiesMetadata.fieldIndex[i],
            GetBoost(member));
But I don't like it very much neither...

Anyone got an idea ? I "need" this "AllFields" Field so I can search
all my index, and return "all" Documents that match my query,
regardless of their fields or type.

Thanks in advance,
Mathieu

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to