我需要一个字段(此处为score
)为数字,其他时间为字符串。像:
{
"name": "Joe"
"score": 32.5
}
{
"name": "Sue"
"score": "NOT_AVAILABLE"
}
如何在弹性搜索的索引设置中表达这一点?
我基本上想要"动态打字"在球场上。代码可能对你没有意义(例如:为什么不将它分成两个不同的字段),但是为了一致性原因,这是必要的(出于一致性原因)。
我不需要/希望将财产编入索引/"可搜索"顺便说一句。我只需要将数据放在json响应中。我需要像&#34这样的东西;任何对象都适合这里"。
答案 0 :(得分:2)
终于明白了。我所要做的就是将from datetime import datetime
datetime.timestamp(datetime.strptime('Sunday, September 26, 2010 at 8:35 PM', "%A, %B %d, %Y at %I:%M %p"))
>>1285547700.0
设置为false,弹性搜索不会尝试对数据执行任何操作 - 但它仍然存在于json响应中。
像这样:
enabled
答案 1 :(得分:0)
只需将var quiz = document.getElementById("quiz");
quiz.addEventListener("click", function(e) {
if (e.target.tagName.toUpperCase() === "INPUT") {
var value = e.target.value; // The value of the clicked radio button
snippet.log("The value of that radio button is " + value);
}
});
for (var n = 0; n < 5; ++n) {
var div = document.createElement("div");
div.innerHTML = '<label><input type="radio" value="' + n + '" name="answer"> Radio ' + n + '</label>';
quiz.appendChild(div);
}
字段定义为类型&#34;字符串&#34;在您的映射中。就是这样。确保在索引任何文档之前定义映射。否则,如果您动态创建映射并且<div id="quiz"></div>
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
字段的值类型只是您索引的第一个文档中的字符串,那么您将无法索引其中{{1拥有一个字符串。