2
執行全文搜索索引的最有效方法是什麼?如何在數據庫中存儲和索引Draft.js輸出?
我使用MongoDB的,但我覺得這不是在這個問題上的
我正在考慮兩種方式來存儲draft.js進一步索引輸出上下文如此重要:
- 轉換它降價。這看起來很簡單,全文搜索索引足夠聰明,可以在索引過程中過濾出所有垃圾字符。但是,如果降價如此之好,draft.js可能會將數據輸出爲降價而不是塊結構。因此,我認爲存儲塊應該有它的優勢。
- 在
JSON.stringify
之後存儲塊,並將每個塊的所有「text」屬性作爲純文本存儲在單獨的文檔屬性(或sql表格列)中。因此,純文本將僅用於索引,剩下的工作將由字符串化/解析的JSON完成。聽起來不必要的複雜,誠實。
如果你們已經遇到過這種情況,可能你有關於如何存儲和索引這些數據的一些精確建議?
這裏一些例子來具體:
文本的實施例:
<p>First line of text</p>
<h1>A header</h1>
<p>text and one <strong>BOLD</strong> word</p>
Draft.js輸出:
{
"entityMap":{
},
"blocks":[
{
"key":"4vno8",
"text":"First line of text",
"type":"unstyled",
"depth":0,
"inlineStyleRanges":[
],
"entityRanges":[
],
"data":{
}
},
{
"key":"dr3c5",
"text":"A header",
"type":"header-one",
"depth":0,
"inlineStyleRanges":[
],
"entityRanges":[
],
"data":{
}
},
{
"key":"c5ndf",
"text":"text and one BOLD word",
"type":"unstyled",
"depth":0,
"inlineStyleRanges":[
{
"offset":13,
"length":4,
"style":"BOLD"
}
],
"entityRanges":[
],
"data":{
}
}
]
}
請提供代碼請..請具體以便其他人也可以回答,謝謝 –
@ RobertAnthonyS.Tribiana,感謝您的建議,我已經添加了一些例子 – stkvtflw
我想,這可能會澄清部分問題:https: //github.com/facebook/draft-js/issues/422 – stkvtflw