@memberjunction/search-engine 6.1.3 → 6.2.0-edge.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,23 +38,31 @@ export declare class SearchEnricher {
38
38
  */
39
39
  FilterByTags(results: SearchResultItem[], requiredTags: string[]): SearchResultItem[];
40
40
  /**
41
- * Remove Content Item results that originated from Entity-type content sources.
42
- * These are redundant because the underlying entity records are already
43
- * vectorized and searchable directly.
41
+ * Handles Content Item results by promoting entity-sourced content items to their
42
+ * underlying entity records (Option B), or excluding redundant entity-sourced items,
43
+ * while preserving genuine external unstructured content items (PDFs, URLs, Markdown files).
44
+ *
45
+ * When a content item originated from an Entity content source (or links to an
46
+ * Entity Record Document):
47
+ * 1. If its underlying entity record can be resolved, it is promoted to that target
48
+ * entity (EntityName, RecordID), carrying its score and snippet forward.
49
+ * 2. If it cannot be resolved, it is excluded to avoid surfacing detached internal items.
50
+ *
51
+ * Genuine external content items (ContentSourceType !== 'Entity') remain as 'MJ: Content Items'.
44
52
  *
45
53
  * @param results - All search results
46
54
  * @param contextUser - The user performing the search
47
- * @returns Filtered results without redundant Content Item entries
55
+ * @returns Processed results with entity-sourced content items promoted or excluded
48
56
  */
49
57
  ExcludeEntitySourcedContentItems(results: SearchResultItem[], contextUser: UserInfo): Promise<SearchResultItem[]>;
50
58
  /**
51
- * Add entity icons for results that don't already have them from vector metadata.
59
+ * Add entity icons and display names for results that don't already have them.
52
60
  */
53
- private addEntityIcons;
61
+ private addEntityMetadata;
54
62
  /**
55
63
  * Resolve record names for results that don't already have them.
56
64
  * Vector results from enriched metadata should already have names;
57
- * this handles FTS and entity results.
65
+ * this handles FTS, tag, and entity results.
58
66
  */
59
67
  private resolveRecordNames;
60
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SearchEnricher.d.ts","sourceRoot":"","sources":["../../src/generic/SearchEnricher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACH,iBAAiB,EAIjB,QAAQ,EAGX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,qBAAa,cAAc;IACvB,mEAAmE;IACnE,OAAO,CAAC,SAAS,CAAgC;IAEjD,IAAW,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAEvD;IAED,IAAW,QAAQ,IAAI,iBAAiB,CAEvC;IAED;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtF;;;;;OAKG;IACU,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9F;;;OAGG;IACI,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE;IAO5F;;;;;;;;OAQG;IACU,gCAAgC,CACzC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmC9B;;OAEG;IACH,OAAO,CAAC,cAAc;IAWtB;;;;OAIG;YACW,kBAAkB;IAgChC;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;YACW,kBAAkB;IAoDhC;;OAEG;YACW,mBAAmB;CA4BpC"}
1
+ {"version":3,"file":"SearchEnricher.d.ts","sourceRoot":"","sources":["../../src/generic/SearchEnricher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACH,iBAAiB,EAIjB,QAAQ,EAGX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD;;;;GAIG;AACH,qBAAa,cAAc;IACvB,mEAAmE;IACnE,OAAO,CAAC,SAAS,CAAgC;IAEjD,IAAW,QAAQ,CAAC,KAAK,EAAE,iBAAiB,GAAG,SAAS,EAEvD;IAED,IAAW,QAAQ,IAAI,iBAAiB,CAEvC;IAED;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtF;;;;;OAKG;IACU,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB9F;;;OAGG;IACI,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE;IAO5F;;;;;;;;;;;;;;;;OAgBG;IACU,gCAAgC,CACzC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAmJ9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;;;OAIG;YACW,kBAAkB;IA0ChC;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;YACW,kBAAkB;IAoDhC;;OAEG;YACW,mBAAmB;CA4BpC"}
@@ -31,7 +31,7 @@ export class SearchEnricher {
31
31
  if (results.length === 0)
32
32
  return;
33
33
  const md = this.Provider;
34
- this.addEntityIcons(results, md);
34
+ this.addEntityMetadata(results, md);
35
35
  await this.resolveRecordNames(results, md, contextUser);
36
36
  }
37
37
  /**
@@ -65,68 +65,191 @@ export class SearchEnricher {
65
65
  return results.filter(r => r.Tags.some(t => lowerTags.has(t.toLowerCase())));
66
66
  }
67
67
  /**
68
- * Remove Content Item results that originated from Entity-type content sources.
69
- * These are redundant because the underlying entity records are already
70
- * vectorized and searchable directly.
68
+ * Handles Content Item results by promoting entity-sourced content items to their
69
+ * underlying entity records (Option B), or excluding redundant entity-sourced items,
70
+ * while preserving genuine external unstructured content items (PDFs, URLs, Markdown files).
71
+ *
72
+ * When a content item originated from an Entity content source (or links to an
73
+ * Entity Record Document):
74
+ * 1. If its underlying entity record can be resolved, it is promoted to that target
75
+ * entity (EntityName, RecordID), carrying its score and snippet forward.
76
+ * 2. If it cannot be resolved, it is excluded to avoid surfacing detached internal items.
77
+ *
78
+ * Genuine external content items (ContentSourceType !== 'Entity') remain as 'MJ: Content Items'.
71
79
  *
72
80
  * @param results - All search results
73
81
  * @param contextUser - The user performing the search
74
- * @returns Filtered results without redundant Content Item entries
82
+ * @returns Processed results with entity-sourced content items promoted or excluded
75
83
  */
76
84
  async ExcludeEntitySourcedContentItems(results, contextUser) {
77
85
  const contentItemResults = results.filter(r => r.EntityName === 'MJ: Content Items');
78
86
  if (contentItemResults.length === 0)
79
87
  return results;
80
- await KnowledgeHubMetadataEngine.Instance.Config(false, contextUser);
88
+ try {
89
+ await KnowledgeHubMetadataEngine.Instance.Config(false, contextUser);
90
+ }
91
+ catch {
92
+ // Non-fatal if KnowledgeHubMetadataEngine fails to load
93
+ }
81
94
  const engine = KnowledgeHubMetadataEngine.Instance;
82
- const entitySourceType = engine.ContentSourceTypes.find(st => st.Name === 'Entity');
83
- if (!entitySourceType)
84
- return results;
85
- const entitySourceIDs = new Set(engine.ContentSources
86
- .filter(cs => UUIDsEqual(cs.ContentSourceTypeID, entitySourceType.ID))
95
+ const entitySourceType = engine.ContentSourceTypes?.find(st => st.Name === 'Entity');
96
+ const entitySourceIDs = new Set((engine.ContentSources ?? [])
97
+ .filter(cs => entitySourceType && UUIDsEqual(cs.ContentSourceTypeID, entitySourceType.ID))
87
98
  .map(cs => cs.ID.toLowerCase()));
88
- if (entitySourceIDs.size === 0)
89
- return results;
90
- return results.filter(r => {
91
- if (r.EntityName !== 'MJ: Content Items')
92
- return true;
93
- if (!r.RawMetadata)
94
- return true;
99
+ // Map of ContentItemID -> { EntityName: string; RecordID: string }
100
+ const resolvedEntityRecords = new Map();
101
+ const unpromotableItemIDs = new Set();
102
+ // Step 1: Check if RawMetadata on vector results already specifies Entity and RecordID,
103
+ // or identifies an entity source
104
+ const itemsNeedingDbLookup = [];
105
+ for (const r of contentItemResults) {
106
+ let handled = false;
107
+ if (r.RawMetadata) {
108
+ try {
109
+ const meta = JSON.parse(r.RawMetadata);
110
+ if (meta.Entity && meta.RecordID) {
111
+ resolvedEntityRecords.set(r.RecordID.toLowerCase(), {
112
+ EntityName: meta.Entity,
113
+ RecordID: meta.RecordID
114
+ });
115
+ handled = true;
116
+ }
117
+ else if (meta.ContentSourceID && entitySourceIDs.has(meta.ContentSourceID.toLowerCase())) {
118
+ itemsNeedingDbLookup.push(r.RecordID);
119
+ handled = true;
120
+ }
121
+ }
122
+ catch {
123
+ // Ignore parse errors
124
+ }
125
+ }
126
+ if (!handled && r.RecordID) {
127
+ itemsNeedingDbLookup.push(r.RecordID);
128
+ }
129
+ }
130
+ // Step 2: For items needing DB lookup, check MJ: Content Items and MJ: Entity Record Documents
131
+ if (itemsNeedingDbLookup.length > 0) {
95
132
  try {
96
- const meta = JSON.parse(r.RawMetadata);
97
- const sourceID = meta.ContentSourceID;
98
- if (!sourceID)
99
- return true;
100
- return !entitySourceIDs.has(sourceID.toLowerCase());
133
+ const uniqueIDs = Array.from(new Set(itemsNeedingDbLookup)).map(id => `'${id.replace(/'/g, "''")}'`);
134
+ const rv = new RunView();
135
+ const contentItemsRes = await rv.RunView({
136
+ EntityName: 'MJ: Content Items',
137
+ Fields: ['ID', 'ContentSourceID', 'EntityRecordDocumentID'],
138
+ ExtraFilter: `ID IN (${uniqueIDs.join(',')})`,
139
+ ResultType: 'simple'
140
+ }, contextUser);
141
+ if (contentItemsRes.Success && contentItemsRes.Results) {
142
+ const erdLookups = [];
143
+ for (const ci of contentItemsRes.Results) {
144
+ const isEntitySource = ci.ContentSourceID && entitySourceIDs.has(ci.ContentSourceID.toLowerCase());
145
+ if (ci.EntityRecordDocumentID) {
146
+ erdLookups.push({ itemID: ci.ID.toLowerCase(), erdID: ci.EntityRecordDocumentID });
147
+ }
148
+ else if (isEntitySource) {
149
+ unpromotableItemIDs.add(ci.ID.toLowerCase());
150
+ }
151
+ }
152
+ if (erdLookups.length > 0) {
153
+ const erdIDList = Array.from(new Set(erdLookups.map(l => `'${l.erdID.replace(/'/g, "''")}'`)));
154
+ const erdRes = await rv.RunView({
155
+ EntityName: 'MJ: Entity Record Documents',
156
+ Fields: ['ID', 'Entity', 'RecordID'],
157
+ ExtraFilter: `ID IN (${erdIDList.join(',')})`,
158
+ ResultType: 'simple'
159
+ }, contextUser);
160
+ if (erdRes.Success && erdRes.Results) {
161
+ const erdMap = new Map();
162
+ for (const erd of erdRes.Results) {
163
+ if (erd.Entity && erd.RecordID) {
164
+ erdMap.set(erd.ID.toLowerCase(), { Entity: erd.Entity, RecordID: erd.RecordID });
165
+ }
166
+ }
167
+ for (const lookup of erdLookups) {
168
+ const target = erdMap.get(lookup.erdID.toLowerCase());
169
+ if (target) {
170
+ resolvedEntityRecords.set(lookup.itemID, {
171
+ EntityName: target.Entity,
172
+ RecordID: target.RecordID
173
+ });
174
+ }
175
+ else {
176
+ unpromotableItemIDs.add(lookup.itemID);
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
101
182
  }
102
- catch {
103
- return true;
183
+ catch (error) {
184
+ LogError(`SearchEnricher: Failed to resolve entity-sourced content items: ${error}`);
104
185
  }
105
- });
186
+ }
187
+ // Step 3: Promote resolved entity records, drop unpromotable entity-sourced items,
188
+ // and preserve external unstructured content items
189
+ const output = [];
190
+ for (const r of results) {
191
+ if (r.EntityName !== 'MJ: Content Items') {
192
+ output.push(r);
193
+ continue;
194
+ }
195
+ const recIdLower = r.RecordID.toLowerCase();
196
+ const promotion = resolvedEntityRecords.get(recIdLower);
197
+ if (promotion) {
198
+ const entityInfo = this.Provider.EntityByName(promotion.EntityName);
199
+ const entityDisplayName = entityInfo?.DisplayName || promotion.EntityName;
200
+ output.push({
201
+ ...r,
202
+ ID: promotion.RecordID,
203
+ EntityName: promotion.EntityName,
204
+ EntityDisplayName: entityDisplayName,
205
+ RecordID: promotion.RecordID,
206
+ ResultType: 'entity-record',
207
+ Title: `${entityDisplayName} Record`,
208
+ EntityIcon: entityInfo?.Icon ?? undefined
209
+ });
210
+ }
211
+ else if (unpromotableItemIDs.has(recIdLower)) {
212
+ continue;
213
+ }
214
+ else {
215
+ output.push(r);
216
+ }
217
+ }
218
+ return output;
106
219
  }
107
220
  // ────────────────────────────────────────────────────────────────
108
221
  // Private helpers
109
222
  // ────────────────────────────────────────────────────────────────
110
223
  /**
111
- * Add entity icons for results that don't already have them from vector metadata.
224
+ * Add entity icons and display names for results that don't already have them.
112
225
  */
113
- addEntityIcons(results, md) {
226
+ addEntityMetadata(results, md) {
114
227
  for (const result of results) {
115
- if (!result.EntityIcon) {
116
- const entity = md.EntityByName(result.EntityName);
117
- if (entity?.Icon) {
228
+ const entity = md.EntityByName(result.EntityName);
229
+ if (entity) {
230
+ if (!result.EntityIcon && entity.Icon) {
118
231
  result.EntityIcon = entity.Icon;
119
232
  }
233
+ if (!result.EntityDisplayName) {
234
+ result.EntityDisplayName = entity.DisplayName || entity.Name;
235
+ }
236
+ }
237
+ else if (!result.EntityDisplayName) {
238
+ result.EntityDisplayName = result.EntityName;
120
239
  }
121
240
  }
122
241
  }
123
242
  /**
124
243
  * Resolve record names for results that don't already have them.
125
244
  * Vector results from enriched metadata should already have names;
126
- * this handles FTS and entity results.
245
+ * this handles FTS, tag, and entity results.
127
246
  */
128
247
  async resolveRecordNames(results, md, contextUser) {
129
- const needsName = results.filter(r => !r.RecordName || r.RecordName === `${r.EntityName} Record`);
248
+ const needsName = results.filter(r => !r.RecordName ||
249
+ r.RecordName === `${r.EntityName} Record` ||
250
+ (r.EntityDisplayName && r.RecordName === `${r.EntityDisplayName} Record`) ||
251
+ r.Title === `${r.EntityName} Record` ||
252
+ (r.EntityDisplayName && r.Title === `${r.EntityDisplayName} Record`));
130
253
  if (needsName.length === 0)
131
254
  return;
132
255
  try {
@@ -135,11 +258,18 @@ export class SearchEnricher {
135
258
  return;
136
259
  const names = await md.GetEntityRecordNames(indexedInputs.map(ir => ir.Input), contextUser);
137
260
  for (let i = 0; i < names.length; i++) {
261
+ const resultIndex = indexedInputs[i].ResultIndex;
138
262
  if (names[i].RecordName) {
139
- const resultIndex = indexedInputs[i].ResultIndex;
140
263
  results[resultIndex].RecordName = names[i].RecordName;
141
264
  results[resultIndex].Title = names[i].RecordName;
142
265
  }
266
+ else {
267
+ // Fallback if record name could not be resolved from DB: ensure Title doesn't use the raw schema-qualified name
268
+ const entityDisplayName = results[resultIndex].EntityDisplayName || results[resultIndex].EntityName;
269
+ if (results[resultIndex].Title === `${results[resultIndex].EntityName} Record`) {
270
+ results[resultIndex].Title = `${entityDisplayName} Record`;
271
+ }
272
+ }
143
273
  }
144
274
  }
145
275
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchEnricher.js","sourceRoot":"","sources":["../../src/generic/SearchEnricher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchEnricher.js","sourceRoot":"","sources":["../../src/generic/SearchEnricher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFusion.d.ts","sourceRoot":"","sources":["../../src/generic/SearchFusion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAwB,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,iDAAiD;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,kDAAkD;IAClD,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,YAAY;IACrB;;;;;;;;;;;;;;OAcG;IACI,IAAI,CACP,KAAK,EAAE,iBAAiB,EAAE,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,uBAAuB,GACxC,gBAAgB,EAAE;IA8BrB;;;;;;;;;;;;;OAaG;IACI,gBAAgB,CACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC7C,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,gBAAgB,EAAE;IAwCrB;;;;;OAKG;IACI,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IAkCnE;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAkDhB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAwB7B"}
1
+ {"version":3,"file":"SearchFusion.d.ts","sourceRoot":"","sources":["../../src/generic/SearchFusion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAwB,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE/G;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,iDAAiD;IACjD,MAAM,EAAE,YAAY,CAAC;IACrB,kDAAkD;IAClD,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,YAAY;IACrB;;;;;;;;;;;;;;OAcG;IACI,IAAI,CACP,KAAK,EAAE,iBAAiB,EAAE,EAC1B,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,uBAAuB,GACxC,gBAAgB,EAAE;IA8BrB;;;;;;;;;;;;;OAaG;IACI,gBAAgB,CACnB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EAC7C,UAAU,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvC,gBAAgB,EAAE;IAwCrB;;;;;OAKG;IACI,WAAW,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,gBAAgB,EAAE;IA6CnE;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAkDhB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAavB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;CAwB7B"}
@@ -132,10 +132,19 @@ export class SearchFusion {
132
132
  const preferred = existing.SourceType === 'entity' ? existing :
133
133
  result.SourceType === 'entity' ? result :
134
134
  result.Score > existing.Score ? result : existing;
135
+ const mergedTags = Array.from(new Set([...(existing.Tags ?? []), ...(result.Tags ?? [])]));
136
+ const other = preferred === existing ? result : existing;
137
+ let snippet = preferred.Snippet;
138
+ const isGeneric = (s) => !s || s === 'Matched record' || s.startsWith('Matched in ');
139
+ if (isGeneric(snippet) && !isGeneric(other.Snippet)) {
140
+ snippet = other.Snippet;
141
+ }
135
142
  seen.set(key, {
136
143
  ...preferred,
144
+ Snippet: snippet,
137
145
  Score: maxScore,
138
- ScoreBreakdown: mergedBreakdown
146
+ ScoreBreakdown: mergedBreakdown,
147
+ Tags: mergedTags
139
148
  });
140
149
  }
141
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFusion.js","sourceRoot":"","sources":["../../src/generic/SearchFusion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchFusion.js","sourceRoot":"","sources":["../../src/generic/SearchFusion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @fileoverview Tag search provider using TagEngineBase and RunView.
3
+ *
4
+ * Matches search queries against the taxonomy graph (tags and synonyms)
5
+ * and retrieves the associated records from MJ: Tagged Items (and
6
+ * MJ: Content Item Tags), weighted by the tag match confidence multiplied
7
+ * by the tagged item's continuous relevance weight (0.0 to 1.0).
8
+ *
9
+ * @module @memberjunction/search-engine
10
+ */
11
+ import { UserInfo } from '@memberjunction/core';
12
+ import { BaseSearchProvider, SearchProviderConfig } from './ISearchProvider.js';
13
+ import { SearchFilters, SearchResultItem, SearchSource, ScopeConstraints } from './search.types.js';
14
+ /**
15
+ * Provides tag-weighted record search.
16
+ * Matches search terms against taxonomy tags and synonyms, then retrieves
17
+ * records linked via MJ: Tagged Items and MJ: Content Item Tags.
18
+ */
19
+ export declare class TagSearchProvider extends BaseSearchProvider {
20
+ readonly SourceType: SearchSource;
21
+ /**
22
+ * Minimum query length to evaluate for tag matching.
23
+ */
24
+ private static readonly MIN_TERM_LENGTH;
25
+ /**
26
+ * Initialize the provider and ensure TagEngineBase is loaded.
27
+ */
28
+ Initialize(config: SearchProviderConfig, contextUser: UserInfo): Promise<void>;
29
+ /**
30
+ * Check whether the provider is operational by verifying tag taxonomy availability.
31
+ */
32
+ CheckAvailability(contextUser: UserInfo): Promise<void>;
33
+ /**
34
+ * Whether this provider is available.
35
+ * Available when TagEngineBase has at least one tag configured.
36
+ */
37
+ IsAvailable(): boolean;
38
+ /**
39
+ * Execute a tag-weighted search.
40
+ *
41
+ * 1. Matches query terms to active tags in the taxonomy graph (including synonyms).
42
+ * 2. If no tags match, immediately returns [] (zero database overhead).
43
+ * 3. Retrieves records linked to matched tags via `MJ: Tagged Items` (and `MJ: Content Item Tags`).
44
+ * 4. Multiplies tag match confidence by tagged item weight to produce final relevance score.
45
+ *
46
+ * @param query - The search query text
47
+ * @param topK - Maximum number of results to return
48
+ * @param filters - Optional filters (e.g. EntityNames to restrict scope)
49
+ * @param contextUser - The user performing the search
50
+ * @param scopeConstraints - Optional per-scope constraints
51
+ */
52
+ Search(query: string, topK: number, filters: SearchFilters | undefined, contextUser: UserInfo, scopeConstraints?: ScopeConstraints): Promise<SearchResultItem[]>;
53
+ /**
54
+ * Matches the search query text against active tags and tag synonyms.
55
+ * Returns matching tags sorted by confidence descending.
56
+ */
57
+ private matchQueryToTags;
58
+ /**
59
+ * Resolves the set of entity names eligible to return records.
60
+ * Respects AllowUserSearchAPI, taxonomy exclusions, and search filters.
61
+ */
62
+ private resolveAllowedEntities;
63
+ /**
64
+ * Queries MJ: Tagged Items for records associated with the matched tags.
65
+ */
66
+ private searchTaggedItems;
67
+ /**
68
+ * Queries MJ: Content Item Tags if MJ: Content Items is an allowed entity.
69
+ */
70
+ private searchContentItemTags;
71
+ }
72
+ //# sourceMappingURL=TagSearchProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagSearchProvider.d.ts","sourceRoot":"","sources":["../../src/generic/TagSearchProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAKH,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EACH,aAAa,EACb,gBAAgB,EAEhB,YAAY,EACZ,gBAAgB,EACnB,MAAM,gBAAgB,CAAC;AAwCxB;;;;GAIG;AACH,qBACa,iBAAkB,SAAQ,kBAAkB;IACrD,SAAgB,UAAU,EAAE,YAAY,CAAS;IAEjD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAK;IAE5C;;OAEG;IACmB,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAUpG;;OAEG;IACmB,iBAAiB,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7E;;;OAGG;IACa,WAAW,IAAI,OAAO;IAItC;;;;;;;;;;;;;OAaG;IACU,MAAM,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,aAAa,GAAG,SAAS,EAClC,WAAW,EAAE,QAAQ,EACrB,gBAAgB,CAAC,EAAE,gBAAgB,GACpC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAoF9B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAyFxB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;YACW,iBAAiB;IAoF/B;;OAEG;YACW,qBAAqB;CA8EtC"}