Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

Ajax Live Search

Adds ajax search, live search, relevance based search, query logging, query caching, search analytics and tons of other cool features.

Adds ajax search, live search, relevance based search, query logging, query caching, search analytics and tons of other cool features.

Search Modifiers

Give your visitors complete control of their search results by providing them with the following search modifiers;

  1. (+) A leading plus sign indicates that this word must be present.

  2. (-) A leading minus sign indicates that this word must not be present in any of the returned rows.

  3. (>) Indicates that this word should be given more weight.

  4. (~) Indicates that this words weight should be negated but not removed. See 2 above.

  5. (*) When you append an asterisk to a word; we match all words beginning with the value before the asterisk.

  6. ("") Returns results that contain the phrase in the parenthesis and in the same order.

  7. (author: or @) The username of an author whose posts should be searched.

  8. (author_in:) Comma separated Ids of authors whose posts should be searched.

  9. (author_not_in:) Comma separated Ids of authors whose posts should be excluded.

  10. (cat: or category_in) Comma separated list ids of categories to search

  11. (category:) Comma, "-" or "+" separated list of category slugs to search in. Use comma to get posts from any of the categories. Use "+" to fetch posts that appear in all categories. Use "-" to exclude posts from the given category.

  12. (tagged:) Comma or "+" separated list of tag slugs to search in. Use comma to get posts with any of those tags. Use "+" to fetch posts that have all those tags.

  13. (post_types:) comma separated list of post types to search.

  14. (before:) An english date format to use, e.g, last week, 2 months ago, January 1st, 2013 etc. It returns posts published before the given date.

  15. (after:) Same as above except it returns posts published after the given date.

Examples

  • "Steve Jobs" +apple -juice -> This query returns all posts containing the phrase Steve Jobs exactly the ways it is. The returned results must also contain the word apple, but should not contain the word juice. This prevents us from giving higher relevance to posts containing the Phrase "Steve austin likes Apple Juice". Which would be the case incase you use the inbuilt search functionality or a different plugin.

  • @pappito tagged:wordpress,seo ->This fetches all posts written by Pappito that were tagged with either WordPress or SEO

  • author:matt category:automattic,woocommerce,aksimet+tutorials-basic This fetches all posts by Matt(Hi Matt!) found in either the woocommerce, aksimet or automattic categories and should also be categorised tutorials but exclude those found in the category labeled basic.

  • before:"last week" after:"2 months ago" post_types:product tagged:free You can use this to find free products published between the given dates, inclusive.

Enough of the examples, you can get more at the official documentation page. For now, let's go over how we rank.

Extra features

  • Query Caching.

  • Sponsored results (a good way for you to promote your affiliate products).

  • Live search. (Search as you type.)

  • AJax Search (no need to reload the page to view results.)

  • Autocompletes / query suggestions (We can fetch them from Google, YouTube, Posts table or previous searches table. Just say it.)

  • Search statistics (Graphs + tables. A good place to get new content ideas. You know those popular searches that have very few results?)

  • Save the stats as csv and manipulate them in your favourite spreadsheet.

  • Lot's of hooks that you can use to extend aLs.

Author Picocodes
Profile
Contributors picocodes
Tags ads, adsense, ajax search, autocompletes, better search, caching, google, google search, Live Search, Post, posts, real time search, relevance, search, search query logging, searching, sponsored results
  1. ajax-live-search screenshot 1

    First

  2. ajax-live-search screenshot 2

    Second

  3. ajax-live-search screenshot 3

    Third

  4. ajax-live-search screenshot 4

    Fourth

Minimum Requirements

  • WordPress 4.1 or greater
  • PHP version 5.3 or greater
  • MySQL version 5.5 or greater

NOTE: If you are installing the pro version, please make sure to uninstall the lite version first.

Automatic installation

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of Ajax Live Search Lite, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type “Ajax Live Search Lite” and click Search Plugins. Once you’ve found our search plugin you can view details about it such as the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.

Manual installation

The manual installation method involves downloading our search plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains instructions on how to do this here.

Updating

Automatic updates should work like a charm; as always though, ensure you backup your site just in case.

Dummy data

To view how statistics page work, just click on the generate dummy data button in the main statistics window and Als will create app. 1000 dummy search queries for you to play around with.

1.0.0 - 14/06/2016

  • Initial release

1.1.0 - 15/06/2016

  • Bug fixes

2.0.0 - 20/06/2016

  • Bug fixes
  • Migrated from custom indexes to MySQL fulltext
  • Added several admin settings
  • Added several admin pages
  • Enhanced the ranking system

2.1.0 - 24/06/2016

  • Bug fixes
  • Limited the initial search results to 100
  • Enhanced the ranking system
  • Added several action hooks
  • Added several options that affect the way results are displayed

Can I use another search engine such as relevance alongside Ajax Search Lite?

At the moment, it's not possible, but in the future we will try to implement that option. In any way, Als is just as good as other engines and even better than most of them.

How does caching work?

Basically, when a user submits a search query, we check if there is a search file containing that query and display it. If not, we make a new cache file and display that one.

Unlike other systems, our caching does not depend on time, since search results don't change with time but with a change in the index. We therefore keep the cache files for as long as the index is intact.

Will Ajax Live Search Lite work with my theme?

Yes; Ajax Live Search Lite will work with any theme, but may require some styling to make it match nicely. It uses the themes default styles though it loads its own search template. If you discover that it's not working properly, then just open the plugin editor and select Ajax search lite then open the styles.css file and style it until it matches your theme.

Where can I report bugs or contribute to the project?

Bugs can be reported either in our support forum or preferably on the Ajax Live Search Lite GitHub repository.

Ajax Live Search is awesome! Can I contribute?

Yes you can! Join in on our GitHub repository :)

Ranking

Calculating Relevance

Before calculating the relevance of a post, we first strip out stopwords and words that appear in more than 50% of the articles from the query. (Words appearing in more than 50% of the articles will still be used to find results, only that they won't have any effect on the relevance.) We also apply linear regression in such a way that words appearing in less articles are given more weight than those appearing in more articles. For examples, a word appearing in one article will be treated as more valuable than a word appearing in 2 which in turn will be treated as more valuable than the one appearing in 3. We then count the number of times it appears in the article and multiply that by the weight you provided in your admin dashboard. Those 3 pieces of data are then used to calculate the tf-idf of the article in respect to it's content. This process is repeated for the title and the results added together. NOTE1: We normalize the idf by calculating it logarithm first before calculating the tf-idf. NOTE2: This process alone is x20 better than default WordPress Search system. It's also exactly the same process that Relevanssi and other popular plugins use when searching for data. NOTE3: The problem is that some of those results still have the same relevance score. That's why we go a step further to determine which ones should have a better score .

Tie Breaking

This is done by applying linear regression to both the published date and also the number of comments. We assume that people are more likely to comment on an article of higher quality than one of low quality. This way, an article published yesterday and has 10 comments ranks better than one that was published 2 months ago and contains 10 comments. This in turn ranks better than one that was published 2 months ago but has 5 comments. Logarithms are used to minify the effect of this tie breaking extension. This way, only articles that had the same or very close relevancy scores are the only ones affected.

Finally

After the final score of each article is calculated, we multiply it by the weight that you provided in your admin area for the post type. For example, if the current post is a product and you gave a weight of 2.5 to products; we multiply it's score by 2.5. This way, you can have all products rank first before any other post type by giving it an insane weight amount.

Extras

Pappito is busy trying to come up with a more sophisticated way of calculating the quality of a post. The algorithm is almost complete and will be rolled in with the next major release. Hopefully before the year ends. However, here is a sneak peak of the "human"(machine) learning algorithm; 1. Allows you to assign a quality score of each article you create. 2. Checks the click through rate of each article in the search results. 3. Compares the article to some of the official Google quality guidelines. 4. Integrates with Yoast SEO to checkout the target keyword of that article. 5. Allows you to view the articles that ranked for the previous search queries and let's you manually give that article a relevancy score in respect to the query. 6. Other...

After that, all this is matched to the relevancy score and the tie breaker score and used to rank results. Great, Huh!

All this is great... but I use shared hosting, DaaH!

Don't worry, most of this data is calculated during indexing. That's why your site takes a little bit too long to load when activating the plugin. This is because that's when we create the index. (Remember about tf-idf?) The index is only updated when creating a new post/page etc. This, in addition to the fact that we leverage query caching(Pro version only), makes the fetching of search results super fast. In fact, we carried out benchmarks against other search plugins, including the inbuilt one; and we came out at the top. You know why? Most of the other engines use the LIKE command to match results. This prevent MySQL from using it's index and instead goes over each row in the database when searching. This is not bad when you have a few articles; which is not the case with my old 2002 pc running 512mb of RAM and housing a database that has over 1 million articles mined from Wikipedia. Wikipedia articles are very comprehensive, generally over 2000 words per article. We were impressed when all the test queries generated results under 1 seconds, compared to other engines. One even took 30 mins to search for the phrase "history of the bible." After going over it's code; I found out that it was converting the phrase into an array of 4 words; adding % to both ends of each word and using a like query to fetch posts matching any of the words. As a results, it gave back a total of 600,000+ results, most of them containing irrelevant keywords like theme and smirnof . On the other hand, aLs strips out "of" and "the" from the query because they add no value to it; and then convert "history" and "bible" into an array. Since "history" appears in more articles compared to "bible"; we give it a lesser weight. That way, articles containing a phrase like "history of america" will still rank, but lower. After that, we apply reverse stemming, so that we can also fetch words like bible's etc. We then hit our index to fetch out specific articles, (no using like queries), and return the results. The process is so fast. It's like hitting the back of your book, pick out a word, fetch it's variants and then read the pages containing them. And return just that. It's better than searching from page 1 to page last and picking out each page that contains the word.

Extra features

  • Query Caching.
  • Sponsored results (a good way for you to promote your affiliate products).
  • Live search. (Search as you type.)
  • Ajax Search (no need to reload the page to view results.)
  • Autocompletes / query suggestions (We can fetch them from Google, YouTube, Posts table or previous searches table. Just say it.)
  • Search statistics (Graphs + tables. A good place to get new content ideas. You know those popular searches that have very few results?)
  • Save the stats as csv and manipulate them in your favourite spreadsheet.
  • Lot's of hooks that you can use to extend aLs.
Share  
Download
Version 2.2.4

Requires WordPress version: 4.3 or higher

Compatible up to: 4.7.3

Last Updated 05 Feb 2017

Date Added: 19 Jun 2016

Plugin Homepage

Evaluation
star1
star2
star3
star4
star5

5 stars
2 ratings
1,046 downloads

Compatibility

Not Enough Data

Reports:
Works: 0
Broken: 0