<div dir="ltr"><div>Hello all,</div><div><br></div><div>This is the biweekly status update for ahmia development, that arrives a bit late, since I should have sent it on Friday.</div><div><br></div><div>The last two weeks I have been working on:</div><div><br></div><div>=== Ahmia-Site ===</div><div><br></div><div>* Added a "Did you mean" functionality. This utilizes Elasticsearch's <a href="https://www.elastic.co/guide/en/elasticsearch/guide/current/fuzziness.html">fuzziness</a> functionality, and more specifically <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-suggesters-phrase.html">phrase suggesters</a>, to suggest actual terms when a mispell may have happened. For example: <a href="https://ahmia.fi/search/?q=snodwen">https://ahmia.fi/search/?q=snodwen</a> or <a href="https://ahmia.fi/search/?q=tor+netork">https://ahmia.fi/search/?q=tor+netork</a>  [1]</div><div><br></div><div>* Changed the search criteria of elasticsearch searches, by 1) using <a href="https://www.elastic.co/blog/multi-field-search-just-got-better">weighted fields <br></a></div><div>and 2) adding 'anchor' and 'content' fields as well. That has improved the first (upper) results in some cases, and also increases the overall results fetched. [2]</div><div><br></div><div>* Performed an overall html refactoring, to improve the code structure, fix some unmatched tags, etc [3]</div><div><br></div><div></div><div>* A minor improvement on add onion page, makes clearer the response message, and doesn't redirect to new page. [4]</div><div><br></div><div>* [Ongoing] I have been Integrating PageRank algorithm in order to improve results sorting based on website popularity. For each page we take into account the backlinks from the rest of the onion addresses to calculate its page rank coefficient. An appropriate formula needs to be done to combine this metric with the already elasticsearch relevance score [5] To be committed soon<br></div><div><br></div><div><br></div><div>=== Ahmia-Index ===</div><div><br></div><div>* Changed the bulk update request on ES aliases, to an iterative one, to prevent any error on the first requests from disrupting the rest of the requests [6]<br></div><div><br></div><div>* Separated <i>add </i>and <i>remove </i>alias, functionality to make the first crawls of each month available from the beginning of the month. [7]<br></div><div><br></div><div><br></div><div>[1] <a href="https://github.com/ahmia/ahmia-site/issues/25">https://github.com/ahmia/ahmia-site/issues/25</a></div><div>[2] <a href="https://github.com/ahmia/ahmia-site/issues/29">https://github.com/ahmia/ahmia-site/issues/29</a></div><div>[3] <a href="https://github.com/ahmia/ahmia-site/commit/ddcf1a32321a8506f99eaf8c402c0aec604fd41a">https://github.com/ahmia/ahmia-site/commit/ddcf1a32321a8506f99eaf8c402c0aec604fd41a</a><br></div><div>[4] <a href="https://github.com/ahmia/ahmia-site/issues/27">https://github.com/ahmia/ahmia-site/issues/27</a><br></div><div>[5] <a href="https://github.com/ahmia/ahmia-site/issues/30">https://github.com/ahmia/ahmia-site/issues/30</a></div><div>[6] <a href="https://github.com/ahmia/ahmia-index/commit/08952b6609c7d0d8ee82afec4e64a1c610c204ef">https://github.com/ahmia/ahmia-index/commit/08952b6609c7d0d8ee82afec4e64a1c610c204ef</a><br></div><div>[7] <a href="https://github.com/ahmia/ahmia-index/issues/6">https://github.com/ahmia/ahmia-index/issues/6</a><br></div></div>