私はElasticSearchに基づいてウェブサイト上で検索を作成しています。私はElasticSearchを非常に新しくしています。Elastic Searchでの検索クエリ
これは私のElasticSearchコンテンツの構造である:私はそれがのみと一致することをスクリプトを作成する方法をお聞きしたいと思います
my $e = Search::Elasticsearch->new();
my $results = $e->search(
index => 'mysite',
type => 'products',
size => 3,
body => {
query => {
match => { name => $query }
}
}
);
:
hits:
0:
_index: "mysite"
_type: "products"
_id: "1"
_score: 1
_source:
name:
0: "This is name"
number: "N6"
status: "Y"
そして、これが私のPerlスクリプトですステータスが「Y」であり、サブストリング、たとえば$query
が含まれているはずです。 "is"という名前の商品に "is"という名前が含まれていて、その最後の商品がの番号でも検索する必要があります。たとえば、$query
に "N6"が含まれている場合は、その製品も。
したがって、このような何か:(名前または番号)とステータス= "Y"
はどうもありがとうございました。
更新
私はPerlの構文にそれを書き換え、私は構文エラーがあります:/
query => {
query_string => {
query => {
(name => $word OR number => $word) AND status => "Y"
}
}
}
エラー:
-evalfile error: syntax error at (eval 215) line 33, near "} OR "\nGlobal symbol "$e" requires explicit package name at (eval 215) line 40.
PerlまたはElasticsearchで構文エラーが発生していますか?また、エラーを投稿してください。 –
それはPerlエラーであると思われます。私は構文が正しいと思う。 – tomsk