Каковы основные различия между потоковым и нормальным поиском с точки зрения внутренней реализации. Обычный поиск также будет работать распределенным образом, не так ли? Как потоковая передача повышает производительность? Документация не помогает.SOLR Streaming VS Search
ответ
Распространенные запросы на поиск запросов, вычисления результатов, предоставления результатов и слияния ручек. Каждый шаг обрабатывается полностью, прежде чем перейти к следующему шагу. Это работает достаточно хорошо, когда количество данных невелико. Для больших запросов, таких как доставка миллионов документов, для этого требуются огромные буферы памяти. Это также означает, что вызывающему абоненту необходимо подождать до самого последнего шага (доставки результата вызывающему абоненту) до того, как результат будет обработан.
С потоковой передачей все это продолжается: вычисление, доставка и слияние происходят одновременно с фиксированной верхней памятью памяти. Вы можете попросить результаты 10K, или вы можете запросить 10 миллиардов, единственная разница в том, сколько времени это займет. Поскольку каждая часть процесса активна одновременно, включая доставку абоненту, это также означает, что первые данные результата будут доставлены вызывающему абоненту очень быстро.
Внутренне потоковая передача в основном осуществляется поиском по поисковому запросу. Каждая страница (документы 10K, если я правильно помню) передается по потоку, как только она была рассчитана. Игнорируя оптимизацию, подобное поведение можно было бы эмулировать извне с глубоким поисковым вызовом и пользовательским слиянием.
- 1. Algolia vs Solr search
- 2. Solr Distributed Search vs. Solr Cloud
- 3. Solr spellcheck vs fuzzy search
- 4. Apache Solr slow search
- 5. Apache Solr Search
- 6. Fuzzy Search in Solr
- 7. Solr and facet search
- 8. Solr Search Issue
- 9. Solr wilcard search
- 10. Увеличение Solr search concurrency
- 11. Facet Search with Solr
- 12. Solr search часть слова
- 13. Soundex Search with Solr
- 14. Apache Solr search autocomplete
- 15. Solr search apostrophe issue
- 16. Spring Solr Geospatial Search
- 17. Boosting in solr search
- 18. OR search in solr
- 19. Hibernate Search vs Custom Search
- 20. Multi-Language Solr Search Index
- 21. Tune solr phrase query search
- 22. Solr regex search results results
- 23. Sitecore Solr Search Score Value
- 24. Solr Search Field Best Practices
- 25. Solr Facet Search-Spell check
- 26. Solr Search not results results
- 27. Solr Fuzzy Search Weird Case
- 28. VSAM Search VS COBOL search/loop
- 29. Hadoop API VS. Hadoop Streaming
- 30. Live Streaming vs Action Cable
Привет, пожалуйста, проконсультируйтесь с простым запросом и объясните, как потоковая передача работает над поиском – redeemed
'q = *: * & rows = 100000000' по индексу с документами 100M, это почти наверняка способ выдувания вашей кучи, независимо от того, распространяется ли ваша настройка или нет. Первый пример в https://cwiki.apache.org/confluence/display/solr/Streaming+Expressions не имеет такой проблемы. –
Итак, проблема здесь заключается в загрузке всех 1M-документов сразу, где потоковая передача позволяет вам одновременно получать один документ на стороне клиента, правильно. Что делать, если мне нужно будет сделать некоторые вычисления над этими документами 1M, все равно мне нужно будет провести эти 1M документы в памяти (полученные с помощью потоковой передачи), правильно? – redeemed