0

On the website http://constructionbook.bnibooks.com/, I'm trying to modify Super Search to get search on the website the way we want it, but I'm having some difficulties.

Super Search Version 2.1.4, Expression Engine Version 2.8.1

We have fuzzy searching turned on with Super Search, and we set search to match plurals and singulars as well as misspelled words. However, it does not appear to be working.

I know that Super Search is supposed to build a database for misspelled words, but when I search for "code book", I get two results on the website. However, when I search "code books", I get zero results.

The parameter search_word_within_words is currently set to "no". Is this affecting how plurals and misspelled words are searched? Otherwise, what could be causing this issue?

EDIT: Here is the {exp:super_search:results} portion of our search template.

    {exp:super_search:results
        channel="products"
        limit="12"
        show_future_entries="yes"
        search_in="title|product_display_title|product_author|product_sku|product_isbn"
        search_words_within_words="yes"
        allow_repeats="no"
        paginate="bottom"
        fuzzy_distance="2"
        fuzzy_weighting="yes"
    }

        {if super_search_no_results}
            <div class="col-md-12">
                <p>No results matched your query.</p>
            </div>
        {/if}

        {if super_search_total_results==1}
            {redirect="product/{url_title}"}
        {/if}

        {if count == 1 OR count == 4 OR count == 7 OR count == 10}

        <div class="ad-col m-bottom">
            <div class="row ">

        {/if}
                <div class="col-md-4 ad-small">
                    <div class="well bg-1 ad-col-height">
                        <h4><a class="inherit-hyperlink" href="{url_title_path=product}">{title}</a></h4>
                        <div class="row m-top">
                            <div class="col-md-4">
                                <a href="{url_title_path=product}"><img class="img-responsive" src="{if product_thumbnail}{product_thumbnail}{if:else}/media/products/noi.jpg{/if}" alt="{title}"></a>
                            </div>
                            <div class="col-md-8">
                                {if product_tag!="" AND product_tag != "None"}
                                    <p class="{product_tag}">{product_tag:label}</p>
                                {/if}                           
                                {if product_author}<p><small>By {product_author}</small></p>{/if}
                                <p>Product Code: {product_sku}
                                <br />Price: {exp:store:product entry_id="{entry_id}" disable_form="yes" disable_javascript="yes"}{price}{/exp:store:product}
                                <br />{if product_binding != "Other"}{product_binding}{/if}</p>
                                <p><a href="{url_title_path=product}" class="btn btn-default">View Details</a></p>
                            </div>
                        </div><!-- /.row -->
                        <div class="row">
                            <div class="col-md-12 m-top">
                                {product_short_description}
                            </div>
                        </div>
                    </div><!-- /.well -->
                </div><!-- /.ad-small -->

        {if count == 3 OR count == 6 OR count == 9 OR count == 12 OR count == total_results}
            </div><!-- /row -->
        </div>
        {/if}

        {paginate}

        <div class="text-center">
        {pagination_links}
        <ul class="pagination">
        {first_page}
        <li><a href="{pagination_url}" class="page-first">&laquo;</a></li>
        {/first_page}

        {previous_page}
        <li><a href="{pagination_url}" class="page-previous">&lt;</a></li>
        {/previous_page}

        {page}
        <li {if current_page}class="active"{/if}><a href="{pagination_url}" class="page-{pagination_page_number} ">{pagination_page_number}</a></li>
        {/page}

        {next_page}
        <li><a href="{pagination_url}" class="page-next">&gt;</a></li>
        {/next_page}

        {last_page}
        <li><a href="{pagination_url}" class="page-last">&raquo;</a></li>
        {/last_page}
        </ul>
        {/pagination_links}
        </div>

        {/paginate}

    {/exp:super_search:results}
2
  • Can you show the template code that you're using? The {exp:super_search:results}'s parameters in particular.
    – Solspace
    Commented Nov 13, 2014 at 10:37
  • did you solve this? Looks like plurals work only when searching one word not multiple. Commented Oct 20, 2017 at 14:28

1 Answer 1

0

Fuzzy searching needs time to "learn" from new words, which means Super Search might not know of all possible fuzzy permutations during the first encounters with the word.

It should be noted that Fuzzy Searching, as cool of a feature as it is, runs on some complex algorithms from a 3rd party library. It's very possible that between that, and the Lexicon taking time to rebuilt itself every once and a while, that you'll experience some inconsistencies over time with the Fuzzy Searching feature.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.