Ejemplo n.º 1
0
        private static void _addToLuceneIndex(LucenePageModel PageData, IndexWriter writer)
        {
            // remove older index entry
            var searchQuery = new TermQuery(new Term("PageId", PageData.PageId.ToString(CultureInfo.InvariantCulture)));

            writer.DeleteDocuments(searchQuery);

            // add new index entry
            var PageDocument = new Document();

            // add lucene fields mapped to db fields
            PageDocument.Add(new Field("PageId",
                                       PageData.PageId.ToString(CultureInfo.InvariantCulture), Field.Store.YES, Field.Index.NOT_ANALYZED));

            if (PageData.Title != null)
            {
                PageDocument.Add(new Field("Title", PageData.Title, Field.Store.YES, Field.Index.ANALYZED,
                                           Field.TermVector.WITH_POSITIONS_OFFSETS));
            }
            if (PageData.Body != null)
            {
                PageDocument.Add(new Field("Body", PageData.Body, Field.Store.YES, Field.Index.ANALYZED,
                                           Field.TermVector.WITH_POSITIONS_OFFSETS)
                {
                    Boost = 3
                });
            }
            if (PageData.Keywords != null)
            {
                PageDocument.Add(new Field("Keywords", PageData.Keywords, Field.Store.YES, Field.Index.ANALYZED,
                                           Field.TermVector.WITH_POSITIONS_OFFSETS));
            }
            if (PageData.SubTitle != null)
            {
                PageDocument.Add(new Field("SubTitle", PageData.SubTitle, Field.Store.YES, Field.Index.ANALYZED,
                                           Field.TermVector.WITH_POSITIONS_OFFSETS));
            }
            if (PageData.Description != null)
            {
                PageDocument.Add(new Field("Description", PageData.Description, Field.Store.YES, Field.Index.ANALYZED,
                                           Field.TermVector.WITH_POSITIONS_OFFSETS));
            }

            // add entry to index
            writer.AddDocument(PageDocument);
        }
Ejemplo n.º 2
0
 public static void AddUpdateLuceneIndex(LucenePageModel PageData)
 {
     AddUpdateLuceneIndex(new List <LucenePageModel> {
         PageData
     });
 }