如何在elasticsearch(java API)中使用queryString()? [英] How to use queryString() in elasticsearch (java API)?
问题描述
我正在进行弹性搜索v1.1.1
我在搜索查询中遇到问题我想知道如何解决下面的障碍
这里是我的映射
{
token:{
type:string
}
}
索引记录中的数据是
{
/ pre>
token:4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd
}
我的搜索是
4r5etgg-kogignjj-jdjuty687-我想要完全匹配的记录,我需要使用哪个查询来获得完全匹配。的记录
可以完成QueryBuilders.queryString()?
我使用queryString()检查,然后我确定了它对于完全匹配不是有用的
请建议我
解决方案您可以在字符串周围放置引号以进行完全匹配:
QueryBuilders.queryString(\4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd\);
如果您不希望在上述字符串索引上进行部分匹配,那么该值和未搜索的值将被搜索就这样在你的映射添加:
令牌:{
type:multi_field,
fields:{
untouched:{
type:string,
index:not_analyzed
}
}
}
然后搜索:
{
query:{
match:{
token.untouched:4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd
}
}
}
I am working on elastic-search v1.1.1 I faced a problem with search queries .I want to know How solve below obstacle
Here is my mapping
{ "token" : { "type" : "string" } }
Data in indexed record is
{ token : "4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd" }
My search is
4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd
I want exact match of the record ,which query I need to use to get exact match of the record can it be done
QueryBuilders.queryString() ?
I checked with queryString() ,then I finalized its not useful for exact match
Please suggest me
解决方案You can put quotes around the string to do an exact match:
QueryBuilders.queryString("\"4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd\"");
If you don't want partial matches on the above string index an untokenized version of the value and search on that. In you mapping add:
"token": { "type": "multi_field", "fields": { "untouched": { "type": "string", "index": "not_analyzed" } } }
Then search:
{ "query": { "match": { "token.untouched": "4r5etgg-kogignjj-jdjuty687-ofijfjfhf-kdjudyhd" } } }
这篇关于如何在elasticsearch(java API)中使用queryString()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!