Lucene存储数据类型

时间:2017-01-02 09:22:44

标签: elasticsearch lucene storage

在Lucene中我想存储完整的文档,这些文档只是存储而不是分析。我想做的是像弹性搜索中的_source。 但我很困惑Lucene中存储这类数据的最佳数据类型。 我应该在Lucene中使用什么字段类型来存储此类数据。它应该是StringField还是其他什么? 我认为elasticsearch将_source存储为十六进制数据。不过不确定。 哪种数据类型占用的空间更少,而且仍然足够快以便检索?

1 个答案:

答案 0 :(得分:0)

根据文档的this部分,似乎Lucene将每种数据类型都视为:

  

opaque bytes

理想情况下可以表明,只要与您的要求相关,您所拥有的字段类型并不重要,Kibana无论如何都会转换它们。

因此决定字段应该是哪种数据类型,完全取决于您希望字段在索引中的位置以及如何使用它们来显示 function Row(x) { var threadID = x.parentNode.id; var urlForActionComments = $("#GettingCommentsJSON").val(); var listOfComments; $('#overLapContainer').append('<img id="loadingImage" src="../Resources/IMAGES/LoadingImage.gif" />'); $('#overLapContainer').show(); $.ajax({ type: 'POST', url: urlForActionComments, dataType: 'JSON', data: { threadID: threadID }, success:function(data) { //$('#replyContentDiv').css('display', 'block'); listOfComments = data; setTimeout(appendingComments(listOfComments),100); //appendingComments(listOfComments); }, error: function () { alert('Error While Fetching Likes for'+threadID) } }) } function appendingComments(listOfComments) { for (var i = 0; i < listOfComments.length; i++) { var userMailID = listOfComments[i].CreatedByEmail; var newContent = imageForComment(userMailID); commentRow = '<div class="commentNewContainer">\ <div class="leftCommentNewContainer">\ <input type="hidden" class="' + userMailID + '" />\ <img id="' + i + '" src="#" />\ </div>\ <div class="rightCommentNewContainer"><span>' + listOfComments[i].CommentContent + '</span></div>\ </div>'; $('#commentContainerID').append(commentRow); var forMailid = '.leftCommentNewContainer' + ' ' + '#' + i; if (newContent != null) { $(forMailid).attr("src", "data:image/png;base64," + newContent); } else { $(forMailid).attr("src", "/Resources/IMAGES/default_user.png"); } } } 中的图形。希望它有所帮助!