簡體   English   中英

如何在Solr搜索引擎中存儲此信息?

[英]How to store this information in the Solr search engine?

我建立了一個交流器,現在我想向其中添加Solr搜索引擎。

用戶創建對話,每個對話都包含一個或多個消息。 消息存儲為樹中的節點。 例如:

1. initial message
   1.1 reply
   1.2 another reply for initial message
      1.2.1 bla bla bla...
      1.2.2 Lorem ipsum dolorem...
   1.3 third reply for initial message

始終只有一個初始消息。

我想在Solr中存儲所有消息的內容。 我正在考慮以這種方式存儲數據:

{
    "conversationId_s_lower": <conversation id here>,
    "messageId_s_lower": <message id here>,
    "content_txt_en": <message content here>
  }

但是我需要在對話的屬性中建立索引並進行搜索:

{
    conversationTitle_txt_en: "...",
    conversationAccessUsersId: [123, 45, ...],
    ....
}

所以問題是:我應該如何為這些數據建立索引,以及如何進行查詢?

在開始設計之前要問一些問題。 您可以從solr的角度給出搜索詞來搜索文檔。 因此,根據您的情況,您認為文檔是什么。 是對話還是個人信息。 通常,文檔類似於實體。 所以在這里我想進行一次對話。 因此它具有一個ID。

接下來是每個對話都有多個消息。 我可以看到此消息層次結構有多個級別。 您要維持嗎? 還是所有消息都被認為在一個級別之下。

然后查詢部分-搜索時,您期望消息或對話計數嗎? 無論如何,當您如上所述設計實體時,這都是決定的。

回答這些問題后,您可以轉到非規范化或嵌套實體(在您的情況下,消息嵌套在聚合條件下)。 通過上述回答,可以在所有Solr文章中找到其余過程以對文檔建立索引。 讓我知道您是否需要任何進一步的信息。 快樂的設計和編碼

暫無
暫無

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

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