如何通过elasticsearch数组元素来搜索

如何通过elasticsearch数组元素来搜索,第1张

ar request = new SearchRequest<TestEntity>()

{

Size = 10,

Query = new MatchQuery()

{

Field = "tags",

Query = "使命召唤",

Type = "phrase"

}

};

var results = clientSearch<TestEntity>(request);

foreach (var hit in resultsHits)

{

StringBuilder sb = new StringBuilder();

sbAppend("Tags: ");

foreach (var tag in hitSourceTags)

{

sbAppend(tag + "; ");

}

ConsoleWriteLine(sbToString());

}

将 querystr 保存在 ViewState 或者 SESSION 内,不能用 stringbuilder 这种,因为stringbuilder 这种,在页面会发时,会重新初始化的。

可以利用substring(int beginIndex, int endIndex)函数截取固定长度片段。

具体示例代码如下:

public class woo {

public static void main(String args[])

{

//ID为430423198211231441,截取[19821123]

char IDNum[] = {'4','3','0','4','2','3','1','9','8','2','1','1','2','3','1','4','4','1'};

String IDNum_string = StringcopyValueOf(IDNum);

Systemoutprintln(IDNum_stringsubstring(6, 14));

}

}

扩展资料

1、String类的不可变性:

这个不可变性需要看源码,String类中有几个成员变量:

private final char[] value;//存放String的值

private final int offset;

private final int count;

他们都是final类型的,当你创建一个String之后它们就无法改变,所以这个不可变指的是String的值value不可变。

2、用String的时候需要注意什么?

由于String的不可变性所以应该避免创建大量的String对象,应为大量final类型的String对象会暂用大量的内存,内存可是很宝贵的。

3、String与StringBuilder的区别:

StringBuilder进行字符串的连接等 *** 作时不会创建新的字符串对象,所以在 *** 作字符串的时候推荐把一个String转换为StringBuilder再进行 *** 作,这样可以节省内存。

4、StringBuilder和StringBuffer的区别:

它俩的区别就是StringBuffer是线程安全的,它的方法都加了锁,多在多线程中使用,在单线程中建议使用StringBuilder,会更快。

参考资料:

百度百科——substring函数

以上就是关于如何通过elasticsearch数组元素来搜索全部的内容,包括:如何通过elasticsearch数组元素来搜索、string的解决方案、java中怎么从一个数组中截取一定长度的元素放到新数组中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9380241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存