2015-06-04 3 views
-1

Я пытаюсь использовать эластичный поиск с MsSQL , но я не могу найти никаких результатовУпругие поиск не возвращает никаких результатов

имя таблицы Orders_Table и поля [OrderID], [CustomerName], [UserFullName ], [Статус]

Шаг 1: создать индекс

POST /_river/mytest_river/_meta 
{ 
    "type":"jdbc", 
    "jdbc": 
    { 
     "driver":"com.microsoft.sqlserver.jdbc.SQLServerDriver", 
     "url":"jdbc:sqlserver://[my_ip];databaseName=mega", 
     "user":"sa","password":"******", 
     "sql":"SELECT [OrderID],[CustomerName],[UserFullName],[Status] FROM [Orders_Table]", 
     "poll":"5s", 
     "index": "mega", 
     "type": "orders_table"  
    } 
} 

результат

{ 
    "_index": "_river", 
    "_type": "mytest_river", 
    "_id": "_meta", 
    "_version": 2, 
    "created": false 
} 

Шаг 2: отображения

PUT /_river/_mappings/orders_table 
{ 
    "orders_table" : { 
     "properties" : { 
      "OrderID" : {"type" : "integer"}, 
      "CustomerName" : {"type" : "string" }, 
      "UserFullName" : {"type" : "string" }, 
      "Status" : {"type" : "string" } 
     } 
    } 
} 

результат

{ 
    "acknowledged": true 
} 

шаг 3: _search

POST /_river/mytest_river/_search 
{ 
    "query": { 
     "multi_match": { 
      "query": "7694964", 
      "fields": [ "OrderID" ] 
     } 
    } 
} 

результаты

{ 
    "took": 4, 
    "timed_out": false, 
    "_shards": { 
     "total": 1, 
     "successful": 1, 
     "failed": 0 
    }, 
    "hits": { 
     "total": 0, 
     "max_score": null, 
     "hits": [] 
    } 
} 

Почему row [OrderID] = не найден?

Почему хиты 0 ??

Как я могу привести результаты таблицы вместо хитов?

ответ

1

Попробуйте

POST /mega/orders_table/_search 
{ 
    "query": { 
     "multi_match": { 
      "query": "7694964", 
      "fields": [ "OrderID" ] 
     } 
    }, 
    "size": 100 
} 

Чтобы получить 100 документов или использовать scan and scroll, чтобы получить результаты, разбитые на страницах или даже from/size, чтобы получить то же самое. Но, будьте осторожны с size, вы не хотите устанавливать большие значения там, потому что это может привести к сокращению вашего кластера. Лучше всего было бы, если у вас много документов, использовать сканирование и прокрутку.

+0

no. все тот же результат. { "взял": 222, "timed_out": ложь, "_shards": { "всего": 5, "успешно": 5, "Failed": 0 }, "хиты": { "total": 0, "max_score": null, "hits": [] } } – shay

+0

it Worked !! но как установить массовый размер? .. Я не получаю все соответствующие строки .. как в БД. – shay

+0

отличная .. другая проблема у меня есть с опросом. Я установил его каждые 5 секунд, но, похоже, он не работает. – shay

Смежные вопросы