【发布时间】:2012-09-16 01:43:10
【问题描述】:
我在弹性搜索中有一个看起来像...的文档
{
"items":
[
"ONE BLAH BLAH BLAH TWO BLAH BLAH BLAH THREE",
"FOUR BLAH BLAH BLAH FIVE BLAH BLAH BLAH SIX"
]
}
我希望能够使用类似...的短语查询来搜索此文档
{
"match_phrase" : {
"items" : "ONE TWO THREE"
}
}
这样无论中间的单词如何,它都会匹配。单词也需要按照这个顺序。我意识到这可以通过slop 属性来实现,但是当我尝试它时,如果斜率大于我正在搜索的单词之间的单词,并且因为这是一个不确定的单词数量,它似乎会换行我认为slop不合适。另外我只需要搜索数组中的每个项目,所以...
{
"match_phrase" : {
"items" : "ONE TWO SIX"
}
}
不会匹配此文档,因为 SIX 与 ONE 和 TWO 位于数组中的不同项目中。
所以我的问题是,这是否可以通过 elasticsearch 实现,还是我必须创建一个对象数组并使用嵌套查询来搜索它们?
【问题讨论】:
标签: json search nosql full-text-search elasticsearch