是否有可能获得每个突出显示的片段的字符位置?我需要将突出显示的文本与源文档相匹配,并且使字符位置成为可能.
例如:
curl "localhost:9200/twitter/tweet/_search?pretty=true" -d '{
"query": {
"query_string": {
"query": "foo"
}
},
"highlight": {
"fields": {
"message": {"number_of_fragments": 20}
}
}
}'
Run Code Online (Sandbox Code Playgroud)
返回这个高潮:
"highlight" : {
"message" : [ "some <em>foo</em> text" ]
}
Run Code Online (Sandbox Code Playgroud)
如果匹配文档中的字段消息是:
"Here is some foo text"
Run Code Online (Sandbox Code Playgroud)
有没有办法知道片段从char 8开始到匹配字段的char 21结束?
知道匹配令牌的开始/结束偏移对我来说也是好事 - 也许有一种方法可以使用script_fields访问该信息?(此问题显示如何获取令牌,但不显示偏移量).
字段"消息"具有:
"term_vector" : "with_positions_offsets",
"index_options" : "positions"
Run Code Online (Sandbox Code Playgroud) 有没有办法限制画笔的大小,即使范围更大?
我把一个只有x刻度的画笔放在一起,可以移动和调整大小.我希望能够限制用户可以调整大小的程度(基本上只能达到某一点).
在以下示例中,当画笔大于最大范围的一半时,画笔功能会停止更新.但是,刷子本身仍然可以延长.有没有办法防止这种情况发生?或者有更好的方法来处理这个问题吗?
非常感谢!
请在此处查看此代码:http://bl.ocks.org/3691274(编辑:此演示现在可用)
bar = function(range) {
var x_range = d3.scale.linear()
.domain([0, range.length])
.range([0, width]);
svg.selectAll("rect.items").remove();
svg.selectAll("rect.items")
.data(range)
.enter().append("svg:rect")
.attr("class", "items")
.attr("x", function(d, i) {return x_range(i);})
.attr("y", 0)
.attr("width", width/range.length-2)
.attr("height", 100)
.attr("fill", function(d) {return d})
.attr("title", function(d) {return d});
}
var start = 21;
bar(data.slice(0, start), true);
var control_x_range = d3.scale.linear()
.domain([0, data.length])
.range([0, width]);
controlBar = svg.selectAll("rect.itemsControl")
.data(data)
.enter().append("svg:rect")
.attr("class", "itemsControl")
.attr("x", function(d, i) {return control_x_range(i);})
.attr("y", 110)
.attr("width", width/data.length-2) …
Run Code Online (Sandbox Code Playgroud)