[英]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.