クエリを含むスパン

他のスパンクエリを囲む一致を返します。以下はその例です:

Python

  1. resp = client.search(
  2. query={
  3. "span_containing": {
  4. "little": {
  5. "span_term": {
  6. "field1": "foo"
  7. }
  8. },
  9. "big": {
  10. "span_near": {
  11. "clauses": [
  12. {
  13. "span_term": {
  14. "field1": "bar"
  15. }
  16. },
  17. {
  18. "span_term": {
  19. "field1": "baz"
  20. }
  21. }
  22. ],
  23. "slop": 5,
  24. "in_order": True
  25. }
  26. }
  27. }
  28. },
  29. )
  30. print(resp)

Ruby

  1. response = client.search(
  2. body: {
  3. query: {
  4. span_containing: {
  5. little: {
  6. span_term: {
  7. "field1": 'foo'
  8. }
  9. },
  10. big: {
  11. span_near: {
  12. clauses: [
  13. {
  14. span_term: {
  15. "field1": 'bar'
  16. }
  17. },
  18. {
  19. span_term: {
  20. "field1": 'baz'
  21. }
  22. }
  23. ],
  24. slop: 5,
  25. in_order: true
  26. }
  27. }
  28. }
  29. }
  30. }
  31. )
  32. puts response

Js

  1. const response = await client.search({
  2. query: {
  3. span_containing: {
  4. little: {
  5. span_term: {
  6. field1: "foo",
  7. },
  8. },
  9. big: {
  10. span_near: {
  11. clauses: [
  12. {
  13. span_term: {
  14. field1: "bar",
  15. },
  16. },
  17. {
  18. span_term: {
  19. field1: "baz",
  20. },
  21. },
  22. ],
  23. slop: 5,
  24. in_order: true,
  25. },
  26. },
  27. },
  28. },
  29. });
  30. console.log(response);

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "span_containing": {
  5. "little": {
  6. "span_term": { "field1": "foo" }
  7. },
  8. "big": {
  9. "span_near": {
  10. "clauses": [
  11. { "span_term": { "field1": "bar" } },
  12. { "span_term": { "field1": "baz" } }
  13. ],
  14. "slop": 5,
  15. "in_order": true
  16. }
  17. }
  18. }
  19. }
  20. }

big および little 条項は、任意のスパンタイプのクエリである可能性があります。big からの一致するスパンが little からの一致を含む場合、それらが返されます。