在Lucene中我想存储完整的文档,这些文档只是存储而不是分析。我想做的是像弹性搜索中的_source。 但我很困惑Lucene中存储这类数据的最佳数据类型。 我应该在Lucene中使用什么字段类型来存储此类数据。它应该是StringField还是其他什么? 我认为elasticsearch将_source存储为十六进制数据。不过不确定。 哪种数据类型占用的空间更少,而且仍然足够快以便检索?
答案 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");
}
}
}
中的图形。希望它有所帮助!