0
実際に私は私の結果をmysqlクエリの下に何か説明が空白であり、同じ結果のelasticsearchでクエリする必要がありますか?どのように私は弾性検索でこのmysqlクエリを使用することができます
SELECT * FROM製品WHERE description!= '';
実際に私は私の結果をmysqlクエリの下に何か説明が空白であり、同じ結果のelasticsearchでクエリする必要がありますか?どのように私は弾性検索でこのmysqlクエリを使用することができます
SELECT * FROM製品WHERE description!= '';
弾性検索クエリはまだこの
POST http://localhost:9200/<index>/<indextype>/_search
{
"query": {
"filtered": {
"filter": {
"term": {
"description": ""
}
}
}
}
}
のように見えるその動作していない、このようにする必要があり、あなたのマッピングを確認してください。
PUT http://localhost:9200/<index>/<indextype>/_mapping
{
"products": {
"properties": {
"description": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
結果が欲しい場合は、説明を!= ''とし、以下のクエリを使用してください。
Missing Filter BoolフィルタのMust-Notセクションにあります。フィールドが存在するドキュメントのみを返し、 "null_value"プロパティをtrueに設定すると、明示的にnullでない値が返されます。
{
"query": {
"filtered": {
"filter": {
"bool":{
"must":{},
"should":{},
"must_not":{
"missing":{
"field":"description",
"existence":true,
"null_value":true
}
}
}
}
}
}
}
ありがとうございます。インデックスは "not_analyzed"である必要がありますか?もし私がdescriptionを使って結果を欲しければ!= ''そしてelasticsearchで何を照会するべきですか? – Rakesh
私はあなたの質問のための私の答えを更新しました。チェックしてください。 –
はThans vinodを確認しました – Rakesh