Search code examples
typo3typoscriptextbase

TYPO3 Indexed search showing wrong pagination


I have an indexed search engine configured with TYPO3 site.

It shows the search results, but with wrong pagination. After selecting other pages except the first one, it shows correct pagination.First page shows 129 results

page1 page2 page3 page4.... page10 Next>>

but we r going to page 10 the page is empty and the results showig total of 19 results

page1 page2 Next >>

page.config.index_enable = 1
page.config.index_externals = 0

lib.topsearchbar = COA
lib.topsearchbar {
  10 = TEXT
  10.typolink.parameter = 101
  10.typolink.returnLast = url
  10.wrap = <form action="|" autocomplete="off" method="post" class="search-form"><fieldset><div class="form-group has-feedback">
  20 = COA
  20 {
    10 = TEXT
    10.data = GPvar : tx_indexedsearch |sword
    10.wrap ( 
      <input type="search" id="search" class="form-control search-input" name="tx_indexedsearch[sword]"  placeholder="search" />
      <span class="ion-android-search search-open-btn"></span>

    )
    20 = COA
    20 {
      10 = TEXT
      10.value = <input type="hidden" name="tx_indexedsearch[sections]" value="0" />
      15 = TEXT
      15.value = <input type="hidden" name="tx_indexedsearch[lang]" value="0" />
    }
  }
  wrap = | </div></fieldset></form>
}
[globalVar = GP:L = 1]
lib.topsearchbar.20.20.15.value = <input type="hidden" name="tx_indexedsearch[lang]" value="1" />
[global]

plugin.tx_indexedsearch.settings.displayAdvancedSearchLink = 0
plugin.tx_indexedsearch.settings.displayLevel1Sections = 0
plugin.tx_indexedsearch.settings.clearSearchBox = 1

Solution

  • Possible issue can be in access-restricted pages, which are not taken into account by default.

    From indexed_search manual:

    search.exactCount

    Force permission check for every record while displaying search results. Otherwise, records are only checked up to the current result page, and this might cause that the result counter does not print the exact number of search hits.

    By enabling this setting, the loop is not stopped, which causes an exact result count at the cost of an (obvious) slowdown caused by this overhead.

    So, you can simply set plugin.tx_indexedsearch.search.exactCount = 1 to solve this issue.