我只需要对与查询匹配的嵌套对象的值求和.看起来ElasticSearch确定与查询匹配的文档,然后对所有嵌套对象求和.从下面的大纲我想搜索nestedobjects.objtype ="A"并获取objvalue的总和仅用于匹配嵌套对象,我想得到值4.这可能吗?如果是这样,怎么样?
这是映射
{
"myindex": {
"mappings": {
"mytype": {
"properties": {
"nestedobjects": {
"type": "nested",
"include_in_parent": true,
"properties": {
"objtype": {
"type": "string"
},
"objvalue": {
"type": "integer"
}
}
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的文件
PUT /myindex/mytype/1
{
"nestedobjects": [
{ "objtype": "A", "objvalue": 1 },
{ "objtype": "B", "objvalue": 2 }
]
}
PUT /myindex/mytype/2
{
"nestedobjects": [
{ "objtype": "A", "objvalue": 3 },
{ "objtype": "B", "objvalue": 3 }
]
}
Run Code Online (Sandbox Code Playgroud)
这是我的查询代码.
POST allscriptshl7/_search?search_type=count
{ …Run Code Online (Sandbox Code Playgroud) 我有以下类我尝试序列化到Json失败了.
class HL7 : NameValueCollection
{
public List<HL7> Children { get; set; }
public HL7()
{
Children = new List<HL7>();
}
}
Run Code Online (Sandbox Code Playgroud)
我已经创建了这样的对象并向其添加了数据:
HL7 hl7 = new HL7();
hl7.Add("a", "123");
hl7.Add("b", "456");
hl7.Children.Add(new HL7());
hl7.Children[0].Add("c", "123");
hl7.Children[0].Add("d", "456");
Run Code Online (Sandbox Code Playgroud)
我打电话的时候
JsonConvert.SerializeObject(hl7)
Run Code Online (Sandbox Code Playgroud)
我收到
["a","b"]
Run Code Online (Sandbox Code Playgroud)
我期待以下内容:
{
"a": "123",
"b": "456",
"Children": [
{
"c": "123",
"d": "456",
}
]
}
Run Code Online (Sandbox Code Playgroud) 我已经在我的代码中成功实现了WCF回调模式,现在我想实现一个异步回调.这是我的界面代码:
[ServiceContract(Name = "IMessageCallback")]
public interface IMessageCallback
{
[OperationContract(IsOneWay = true)]
void OnMessageAdded(string message, DateTime timestamp);
}
[ServiceContract(Name="IMessageCallback")]
public interface IAsyncMessageCallback
{
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginOnMessageAdded(string msg, DateTime timestamp, AsyncCallback callback, object asyncState);
void EndOnMessageAdded(IAsyncResult result);
}
[ServiceContract(CallbackContract = typeof(IMessageCallback))]
public interface IMessage
{
[OperationContract]
void AddMessage(string message);
}
Run Code Online (Sandbox Code Playgroud)
要使用同步回调,我声明了我的通道和端点,如下所示:
DuplexChannelFactory<IMessage> dcf = new DuplexChannelFactory<IMessage>(new InstanceContext(this), "WSDualHttpBinding_IMessage");
<endpoint address="net.tcp://localhost:8731/Message/"
binding="netTcpBinding"
contract="WCFCallbacks.IMessage" name="WSDualHttpBinding_IMessage">
Run Code Online (Sandbox Code Playgroud)
我无法获得端点和通道的正确组合以利用异步回调.有人能指出我正确的方向吗?
此外,当执行以下代码行时:
OperationContext.Current.GetCallbackChannel<IAsyncMessageCallback>();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Unable to cast transparent proxy to type 'WCFCallbacks.IAsyncMessageCallback'
Run Code Online (Sandbox Code Playgroud) 在Solr中,我可以定义一个动态字段并将其绑定到特定的数据类型.在以下示例中,以"dt"结尾的索引文档中的所有字段都将被索引为long.
<dynamicField name="*_dt" stored="true" indexed="true" type="long" multiValued="true"/>
在ElasticSearch中,知道字段的名称,我可以使用"映射"中的"属性"子节点将字段索引到特定类型.
"properties": {
"msh_datetimeofmessage_hl7_dt": {
"type": "date",
"format": "YYYYMMddHHmmss"
},
我尝试了以下操作并尝试使用模板,但未成功.
"properties": {
"*_dt": {
"type": "date",
"format": "YYYYMMddHHmmss"
},
ElasticSearch是否提供与Solr相同的功能,如上所述?
提前致谢.
我有以下Swagger定义,我希望swagger-codegen会生成Java Enum类。我浏览过swagger论坛,看起来swagger-codegen应该生成正确的Java代码。
"definitions": {
"AnalystScoreEnum": {
"type": "string",
"enum": [
"POOR",
"AVERAGE"
]
}
}
Run Code Online (Sandbox Code Playgroud)
swagger-codegen输出的内容如下:
package io.swagger.client.model;
import io.swagger.annotations.*;
import com.fasterxml.jackson.annotation.JsonProperty;
@ApiModel(description = "")
public class AnalystScoreEnum {
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AnalystScoreEnum {\n");
sb.append("}\n");
return sb.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
我期望/想要的是:
public enum AnalystScoresEnum {
POOR(1),
AVERAGE(2)
private int value;
private AnalystScoresEnum(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
Run Code Online (Sandbox Code Playgroud) 我们正在从VSS迁移到SVN并正在讨论项目结构.我们正在讨论下面显示的两个提案.
由于项目发布版本与标签绑定,开发人员只需要对该标签执行更新即可立即开始工作,因此开发支持似乎更简单.
第2号确保所有项目和依赖项都可以独立开发,但构建特定版本版本意味着了解项目的标签及其所有依赖项.
这两者之间有明显的比较效益吗?两个结构中的任何陷阱?还是有更好的结构?
1.
Development
+ trunk
Project1
Project2
Dependency1
Dependency2
Dependency3
+ branches
+ tags
2.
Project1
+ trunk
+ branches
+ tags
Project2
+ trunk
+ branches
+ tags
Dependency1
+ trunk
+ branches
+ tags
Dependency2
+ trunk
+ branches
+ tags
Dependency3
+ trunk
+ branches
+ tags
我在AWS实例上安装了ElasticSearch,并从另一个AWS实例成功测试了它.我想在远程计算机上使用.Net应用程序将我的数据加载到ElasticSearch.
如何配置我的AWS实例以允许从远程计算机通过TCP端口9200进行连接?我已经验证iptables已关闭,ES进程绑定到0.0.0.0.
提前致谢.
嗨,我的实体之间有以下关系.
User
- id
- other stuff
NeighborhoodFilter
- id
- userId
- neighborhoodId
- isActive
Neighborhood
- id
- other stuff
Run Code Online (Sandbox Code Playgroud)
我想为我的User对象编写一个方法,该方法将返回UserFilter中isActive = 1表示User所属的所有邻域.
我尝试过以下但我不知道在哪里放置约束'isActive = 1'.有任何想法吗?
public function neighborhoods()
{
return $this->hasManyThrough('Neighborhood', 'NeighborhoodFilter', 'userId', 'id');
}
Run Code Online (Sandbox Code Playgroud) 嗨,我有以下表格数据,我需要在SQl服务器中转换为Xml.有任何想法吗?
提前致谢
从
Party_Id HomePhoneNumber WorkPhoneNumber
62356 6314993578
62356 6314590922
62356 6313795488
Run Code Online (Sandbox Code Playgroud)
至
<HomePhoneNumber>6314993578</HomePhoneNumber>
<WorkPhoneNumber>6314590922</WorkPhoneNumber>
<WorkPhoneNumber>6313795488</WorkPhoneNumber>
Run Code Online (Sandbox Code Playgroud) 我需要标记一个字符串,其中包含指示已通过测试的子字符串的开头和结尾的标识符.
假设我有一个字符串"快速的棕色狐狸跳过懒狗",我想用字符'b'和'o'开头的每个单词标记字符串.最后的字符串看起来像"快速<tag>brown</tag>狐狸跳<tag>over</tag>懒狗".
使用正则表达式和LINQ的组合我有正确的逻辑来完成我想要的但我的性能不是我想要的,因为我使用String.Insert插入标签.我们的字符串可以很长(> 200k),标记的子字符串数可以接近一百.下面是我用来插入标签的代码.鉴于我知道每个子字符串的开始和长度,如何更快地更新字符串'input'?
.ForEach<Match>(m => {
input = input.Insert(m.Index + m.Length, "</tag>");
input = input.Insert(m.Index, "<tag>");
});
Run Code Online (Sandbox Code Playgroud) 我们通过在单独的虚拟机中运行单线程应用程序来扩展它-每个实例都配置为在整体工作负载的特定分区上工作。尽管我们不会消除当前对vm的依赖,但一直有一种想法是,可以通过在应用的某些部分添加线程来获得更好的性能。
为虚拟机环境设计的应用程序的架构线程与为非虚拟机环境设计的应用程序的架构线程是否不同?我主要关心的是,对于设计到应用程序中的每个线程,每台计算机可能启动的实际线程数是计算机上运行的vm实例数的函数,并且实际上可能导致性能下降。
提前致谢。
编辑:上面的vm是指VMWare提供的虚拟机。
我的映射中有以下动态模板。
"dt": {
"match": "*Time",
"mapping": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-ddTHH:mm:ssZ"
}
}
Run Code Online (Sandbox Code Playgroud)
然而,当我插入带有“BirthTime”:“1992-05-06T00:00:00Z”的文档时,我收到以下错误:
"type":"illegal_argument_exception","reason":"Invalid format: [yyyy-MM-ddTHH:mm:ssZ]: Illegal pattern component: T"
Run Code Online (Sandbox Code Playgroud)
我认为我的日期时间格式是 ES 应该立即理解的 ISO 标准。我的映射格式应该是什么来支持 BirthTime?
提前致谢。
我们使用具有名为docid的列和名为parentid的列的表来存储Oracle数据库中的文档之间的关系.如果我有一个与子文档相关的文档doc1,child1_1和child1_2,它们将由Documents表中的以下记录表示.
docid parentid
1000 null record for doc1
1001 1000 " " child1_1
1002 1000 " " child1_2
Run Code Online (Sandbox Code Playgroud)
Documents表可以包含数百万行,因此为了确保所有相关文档在我们的UI中组合在一起,我们使用名为sortedfamily的索引varchar列对Documents表进行预排序,并使用相关文档的docids的连接对其进行填充. .如果不使用sortedfamily列,则在查询时对记录进行排序太慢.上面显示的记录成为.
docid parentid sortedfamily
1000 null 1000 record for doc1
1001 1000 1000_1001 " " child1_1
1002 1000 1000_1002 " " child1_2
Run Code Online (Sandbox Code Playgroud)
这允许我们将"ordered by sortedfamily"添加到我们的查询中,并且返回的记录将始终按相关文档排序.我上面概述的工作非常好,但它有一些与文档族层次深度相关的限制,并且感觉奇怪的连接整数来对记录进行排序.有没有办法只使用整数执行上述操作?
提前致谢.
更新:我上面的例子不够详细.孩子们自己也可能有相关文件.如果child1_1具有相关文档,则sortedfamily的结果值可能是"1000_1001_2000".