ArangoDB 如何从特定链接中选择ArangoSearch-View字段

aydmsdu9  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(122)

给定以下ArangoSearch View定义,集合col_personcol_hotel都具有命名字段f_name

{
  "cleanupIntervalStep": 2,
  "writebufferSizeMax": 33554432,
  "commitIntervalMsec": 1000,
  "id": "291316",
  "consolidationPolicy": {
    "type": "tier",
    "segmentsBytesFloor": 2097152,
    "segmentsBytesMax": 5368709120,
    "segmentsMax": 10,
    "segmentsMin": 1,
    "minScore": 0
  },
  "consolidationIntervalMsec": 1000,
  "globallyUniqueId": "h506F923AD141/291316",
  "links": {
    "col_person": {
      "analyzers": [],
      "fields": {
        "f_name": {
          "analyzers": [
            "arabic_text_analyzer",
            "arabic_collation_analyzer",
            "identity",
            "text_en"
          ]
        }
      },
      "includeAllFields": false,
      "storeValues": "none",
      "trackListPositions": false
    },
    "col_hotel": {
      "analyzers": [],
      "fields": {
        "f_name": {
          "analyzers": [
            "arabic_text_analyzer",
            "arabic_collation_analyzer",
            "text_en",
            "identity"
          ]
        }
      },
      "includeAllFields": false,
      "storeValues": "none",
      "trackListPositions": false
    }
  },
  "writebufferIdle": 64,
  "primarySort": [],
  "primarySortCompression": "lz4",
  "writebufferActive": 0,
  "storedValues": [],
  "type": "arangosearch"
}

问题是,当执行下面的AQL查询时,ArangoDB在两个集合中搜索' f_name',因此如何只在col_person.f_name中搜索而不是在两者中搜索。

LET QR1 = (
    FOR doc_asview_global1 IN asview_global1
    SEARCH
    ANALYZER(
        Like(doc_asview_global1.f_name, "%Regional%"),"identity") OR
    ANALYZER(
        LEVENSHTEIN_MATCH(doc_asview_global1.f_name, "Regional",1,true),"arabic_text_analyzer") OR
    ANALYZER(
        PHRASE(doc_asview_global1.f_name, "Regional"), "arabic_text_analyzer")
    LIMIT 10000
    SORT BM25(doc_asview_global1) DESC
    RETURN doc_asview_global1
)

RETURN QR1
jc3wubiy

jc3wubiy1#

可以将OPTIONS添加到SEARCH操作中,以指定您感兴趣的集合:

SEARCH
  ...
  OPTIONS { collections: ["col_person"] }

https://www.arangodb.com/docs/stable/aql/operations-search.html#search-options

相关问题