我是elasticsearch的新手,并不太确定如何正确使用它。 我有以下问题。我想索引不同的文件和 检查它们是否包含某些搜索字词。还有不止一个 百万文本和一万个搜索词。
我的想法是索引两者,texs和serach术语,所以我有
类似的东西:
http://localhost:9200/text/type/id
http://localhost:9200/searchterm/type/id
我没有找到任何解决方案如何加入这两个索引。所以我想 我的想法走向了错误的方向。
任何人都可以帮助我吗?如果您需要更多信息,我会尝试 给你,但目前是在一开始所以有 没有那么多。我真的很感激你的帮助,坦克你!
答案 0 :(得分:0)
您可以使用术语查找机制。
在文档“http://www.HOSTNAME:9200/searchterm/type/id”中,您可以创建一个名为“searchTerms”的字段,并将搜索字词存储在此字段中。
像
这样的东西searchterm/type/id
{
"searchTerms" : [ "search" , "me" , "and" , "this" , "term" , "Also" ]
}
完成此操作后,您可以在过滤后的查询中引用此文档。
curl -XGET www.HOSTNAME:9200/text/_search -d '{
"query" : {
"filtered" : {
"filter" : {
"terms" : {
"user" : {
"index" : "searchterm",
"type" : "type",
"id" : "id",
"path" : "searchTerms"
}
}
}
}
}
}'
这样,您可以参考其他文档中的术语进行过滤。