コード例 #1
0
        public virtual IndexDocument CreateDocument()
        {
            using (var op = SnTrace.Index.StartOperation("LM: DocumentIndexingActivity.CreateDocument (VersionId:{0}) A{1}", VersionId, Id))
            {
                IndexDocument doc;
                if (IndexDocumentData != null)
                {
                    // create document from indexdocumentdata if it has been supplied (eg via MSMQ if it was small enough to send it over)
                    doc = IndexManager.CompleteIndexDocument(IndexDocumentData);

                    if (doc == null)
                    {
                        SnTrace.Index.Write("LM: DocumentIndexingActivity.CreateDocument (VersionId:{0}): Document is NULL from QUEUE", VersionId);
                    }
                }
                else
                {
                    // create document via loading it from db (eg when indexdocumentdata was too large to send over MSMQ)
                    doc = IndexManager.LoadIndexDocumentByVersionId(VersionId);

                    if (doc == null)
                    {
                        SnTrace.Index.Write("LM: DocumentIndexingActivity.CreateDocument (VersionId:{0}): Document is NULL from DB.", VersionId);
                    }
                }
                op.Successful = true;
                return(doc);
            }
        }
コード例 #2
0
        public IndexDocument GetIndexDocument(Node node)
        {
            //UNDONE:<?predication: Somehow store the index document after saving and get the stored object here, instead of recreating it.
            // Problem: the index doc finalization doing in an async indexing task and it maybe not ready yet.
            var docProvider = Providers.Instance.IndexDocumentProvider;
            var doc         = docProvider.GetIndexDocument(node, false, node.Id == 0, out var _);
            var docData     = DataStore.CreateIndexDocumentData(node, doc, null);

            IndexManager.CompleteIndexDocument(docData);
            return(doc);
        }
コード例 #3
0
 public IndexDocument CompleteIndexDocument(IndexDocumentData indexDocumentData)
 {
     return(IndexManager.CompleteIndexDocument(indexDocumentData));
 }