Ejemplo n.º 1
0
            static LuceneDocument()
            {
                var indexedField = new FieldType {
                    IsIndexed = true, IsStored = true, IsTokenized = true
                };
                var storedField = new FieldType {
                    IsStored = true, IsIndexed = true
                };

                KnownFields = new Dictionary <string, Func <Page, Field> >
                {
                    { "Id", p => new Field("Id", p.Id.ToString(), storedField) },
                    { "Key", p => new Field("Key", p.Key, indexedField) },
                    { "Title", p => new Field("Title", p.Title, indexedField)
                      {
                          Boost = 500
                      } },
                    { "Aliases", p => new Field("Aliases", GetPageAliases(p).JoinString(", "), indexedField)
                      {
                          Boost = 250
                      } },
                    { "PageType", p => new Field("PageType", p.Type.ToString(), storedField) },
                    { "Description", p => new Field("Description", MarkdownService.Strip(p.Description), indexedField) }
                };
            }
Ejemplo n.º 2
0
        /// <summary>
        /// Adds a page to the index.
        /// </summary>
        public async Task AddPageAsync(Page page)
        {
            var doc = new PageDocument
            {
                Id          = page.Id,
                Key         = page.Key,
                Title       = page.Title,
                Aliases     = GetPageAliases(page).JoinString(", "),
                PageType    = (int)page.Type,
                Description = MarkdownService.Strip(page.Description),
            };

            await _client.IndexAsync(doc, i => i.Index(PAGE_INDEX));
        }