簡體   English   中英

是否可以使用ArangoSearch Views索引嵌套屬性?

[英]Is it possible to index nested attributes with ArangoSearch Views?

我想在以下文檔中創建一個ArangoSearch視圖:

  "Title": [
    {
      "lang": "en",
      "value": "Game of thrones"
    },
    {
      "lang": "fr",
      "value": "Throne de fer"
    }
  ]
}

我試圖像這樣鏈接視圖:

{"links": {
    "SearchTest": {
      "analyzers": [
        "identity",
        "text_en",
        "text_fr"
      ],
      "fields": {
        "Title[0].value": {
          "analyzers": [
            "text_en"
          ]
        },
        "Title[1].value": {
          "analyzers": [
            "text_fr"
          ]
        }
      },
      "includeAllFields": true,
      "storeValues": "id",
      "trackListPositions": false
    }
  }}

但我似乎沒有工作

這是查詢

FOR d IN SearchTestVW SEARCH PHRASE(d.Title[0].value,'Game','text_en') RETURN d

它不會返回任何結果。 甚至可以這樣做嗎? 我嘗試過root屬性,它運行正常。 但我們的文件結構如下。

可以使用以下fields: { "objectName": fields: "fieldName"}嵌套fields: { "objectName": fields: "fieldName"} 如果在“根”級別定義所有分析器並將includeAllFields設置為true ,則甚至不需要單獨指定字段。

您可以在對象級別使用分析器,只需定義搜索索引應涵蓋的屬性。 這會減小索引的大小,您可以排除可能只是為結果添加“噪音”的字段。

  "links": {
    "SearchTest": {
      "analyzers": [
        "identity"
      ],
      "fields": {
        "Title": {
          "analyzers": [
            "text_en"
          ],
          "fields": {
            "value": {},
            "lang": {}
          }
        }
      },
      "includeAllFields": false,
      "storeValues": "none",
      "trackListPositions": false

現在這應該工作:

FOR d IN SearchTestVW SEARCH PHRASE(d.Title.value,'Game','text_en') RETURN d

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM