fad71374d0
Former-commit-id: a536d4f20e27294d8bbc2184d75f3a22364f7ba1
67 lines
1.3 KiB
C#
67 lines
1.3 KiB
C#
//
|
|
//
|
|
// SearchableDocument.cs: Abstracts our model of document from the Lucene Document
|
|
//
|
|
// Author: Mario Sopena
|
|
//
|
|
using Lucene.Net.Documents;
|
|
|
|
namespace Monodoc
|
|
{
|
|
struct SearchableDocument
|
|
{
|
|
public string Title {
|
|
get; set;
|
|
}
|
|
|
|
public string Url {
|
|
get; set;
|
|
}
|
|
|
|
public string FullTitle {
|
|
get; set;
|
|
}
|
|
|
|
public string HotText {
|
|
get; set;
|
|
}
|
|
|
|
public string Text {
|
|
get; set;
|
|
}
|
|
|
|
public string Examples {
|
|
get; set;
|
|
}
|
|
|
|
public SearchableDocument Reset ()
|
|
{
|
|
Title = Url = FullTitle = HotText = Text = Examples = null;
|
|
return this;
|
|
}
|
|
|
|
public Document LuceneDoc {
|
|
get {
|
|
Document doc = new Document ();
|
|
doc.Add (UnIndexed ("title", Title));
|
|
doc.Add (UnIndexed ("url", Url));
|
|
doc.Add (UnIndexed ("fulltitle", FullTitle ?? string.Empty));
|
|
doc.Add (UnStored ("hottext", HotText));
|
|
doc.Add (UnStored ("text", Text));
|
|
doc.Add (UnStored ("examples", Examples));
|
|
return doc;
|
|
}
|
|
}
|
|
|
|
static Field UnIndexed(System.String name, System.String value_Renamed)
|
|
{
|
|
return new Field(name, value_Renamed, Field.Store.YES, Field.Index.NO);
|
|
}
|
|
|
|
static Field UnStored(System.String name, System.String value_Renamed)
|
|
{
|
|
return new Field(name, value_Renamed, Field.Store.NO, Field.Index.ANALYZED);
|
|
}
|
|
}
|
|
}
|