给定以下ArangoSearch View
定义,集合col_person
和col_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
1条答案
按热度按时间jc3wubiy1#
可以将
OPTIONS
添加到SEARCH
操作中,以指定您感兴趣的集合:https://www.arangodb.com/docs/stable/aql/operations-search.html#search-options