GraphSearchStreaming

AMD: require(["geoscene/rest/knowledgeGraph/GraphSearchStreaming"], (GraphSearchStreaming) => { /* code goes here */ });
ESM: import GraphSearchStreaming from "@geoscene/core/rest/knowledgeGraph/GraphSearchStreaming";
类: geoscene/rest/knowledgeGraph/GraphSearchStreaming
继承于:GraphSearchStreaming GraphSearch Accessor
起始版本:GeoScene Maps SDK for JavaScript 4.25
beta

对知识图谱服务的图谱资源执行的搜索操作。此操作允许您搜索图谱中实体和关系的属性。搜索中包含具有 text 数据类型或全局唯一标识符 (GUID) 数据类型且 searchable 属性设置为 true 的任何字段。搜索索引是根据所有可搜索字段的值自动构建和维护的。

流式搜索返回结果的速度比搜索更快,并且所返回的结果很小,可立即进行渲染。流式搜索还提供了其他参数来约束搜索。

另请参阅
示例
// example GraphSearchStreaming used in a executeSearchStreaming
KnowledgeGraphModule.executeSearchStreaming(
  knowledgeGraph,
  { // autocasts to new GraphSearchStreaming
    searchQuery: "solar",
    typeCategoryFilter: "both",
    returnSearchContext: false,
    start: 1, // index of first record to return
    num: 200, // return 200 records.
    namedTypesFilter: ["Company", "Supplier", "Part"],
    globalIdsFilter: ["{G4E8G2S8D-2GS5-98S4-3S5D-S1DE7G45DS48}",
                     "{FNWI1G5W-1A5W-3A5W-8412-A1W5F4W8F7AS}",
                     "{9D2D6AFD-41F1-49A4-8412-CACCC9906E88}"]
  }
).then((streamingSearchResult)=>{
  // the result of a streaming search is a readableStream which requires decoding.
  readStream(streamingSearchResult)
})
// a function to read the readable stream returned from the above query
const readStream = async (streamingQueryResult) => {
  let time = Date.now();
  let reader = streamingQueryResult.resultRowsStream.getReader();
  try {
    while (true) {
      const { done, value } = await reader.read();
      if (done) {
        console.log(`Completed database requests: ${(Date.now() - time) / 1000} seconds`, value);
        break;
      }
      console.log(`Chunk returned in: ${(Date.now() - time) / 1000} seconds`, value)
    }
  } catch (err) {
    if (err.name === "AbortError") {
      console.log("Request aborted as expected");
    } else {
      throw err;
    }
  }
};
// sample result of read streaming search result chunk printed to the console
"Streaming chunk returned in: 0.082 seconds"
[
  [{
    "declaredClass": "geoscene.rest.knowledgeGraph.Entity",
    "properties": {
      "Name": "Suncommon",
      "Employee_Count": 400,
      "energyType": "solar"
    },
    "typeName": "Company",
    "id": "{G4E8G2S8D-2GS5-98S4-3S5D-S1DE7G45DS48}"
  }],
  [{
    "declaredClass": "geoscene.rest.knowledgeGraph.Entity",
    "properties": {
      "Name": "Quality Solar Supply",
      "Supplier_code": "158B",
      "City": "New Orleans",
    },
    "typeName": "Supplier",
    "id": "{FNWI1G5W-1A5W-3A5W-8412-A1W5F4W8F7AS}"
  }],
  [{
    "declaredClass": "geoscene.rest.knowledgeGraph.Entity",
    "properties": {
      "Name": "Solar panel",
      "panel_type": "Polycrystalline",
      "price_per_unit": 400
    },
    "typeName": "Part",
    "id": "{9D2D6AFD-41F1-49A4-8412-CACCC9906E88}"
  }]
]

构造函数

new GraphSearchStreaming(properties)
参数
properties Object
optional

有关所有属性的列表,请参阅 properties

属性概述

可以设置、检索或侦听任何属性。请参阅使用属性主题。
显示继承属性 隐藏继承属性
名称 类型 描述
String

类的名称。

更多详情
Accessor
String[]

指定要搜索的 ID 列表。

更多详情
GraphSearchStreaming
String[]

指定要搜索的实体类型关系类型的名称列表。

更多详情
GraphSearchStreaming
Number

搜索返回的最大结果数。

更多详情
GraphSearchStreaming
Boolean

如果为 true,则返回与搜索相匹配的对象 ID、与搜索词相匹配的属性的名称、结果集的得分和突出显示。

更多详情
GraphSearchStreaming
String

要在知识图谱中进行搜索的文本。

更多详情
GraphSearch
Number

要返回的第一个结果的索引。

更多详情
GraphSearchStreaming
String

指定是否搜索实体关系或两者。

更多详情
GraphSearch

属性详细信息

declaredClass Stringreadonly inherited

类的名称。声明的类名称格式化为 geoscene.folder.className

globalIdsFilter String[]

指定要搜索的 ID 列表。

namedTypesFilter String[]

指定要搜索的实体类型关系类型的名称列表。

num Number

搜索返回的最大结果数。

returnSearchContext Boolean

如果为 true,则返回与搜索相匹配的对象 ID、与搜索词相匹配的属性的名称、结果集的得分和突出显示。

默认值:false
searchQuery String inherited

要在知识图谱中进行搜索的文本。接受 Lucene 搜索语法

必需项

start Number

要返回的第一个结果的索引。

typeCategoryFilter String inherited

指定是否搜索实体关系或两者。有效值为:entityrelationshipboth

必需项

  • 成功执行搜索需要此属性。如果服务不支持 both,则必须指定其他选项之一。

可能值"entity"|"relationship"|"both"

默认值:"both"

方法概述

显示继承的方法 隐藏继承的方法
名称 返回值类值 描述

添加一个或多个与对象的生命周期相关联的句柄。

更多详情
Accessor
Boolean

如果存在指定的句柄组,则返回 true。

更多详情
Accessor

移除对象拥有的句柄组。

更多详情
Accessor

方法详细说明

addHandles(handleOrHandles, groupKey)inherited

添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
参数
handleOrHandles WatchHandle|WatchHandle[]

对象销毁后,标记为要移除的句柄。

groupKey *
optional

标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。

hasHandles(groupKey){Boolean}inherited

如果存在指定的句柄组,则返回 true。

参数
groupKey *
optional

组键。

返回
类型 描述
Boolean 如果存在指定的句柄组,则返回 true
示例
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited

移除对象拥有的句柄组。

参数
groupKey *
optional

要移除的组键或组键的数组或集合。

示例
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

您的浏览器不再受支持。请升级您的浏览器以获得最佳体验。请参阅浏览器弃用帖子以获取更多信息