diff --git a/.gitignore b/.gitignore index 5693947..9788db3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Solr installation solr/**/* +**/.DS_Store # Collection data solr_config/data/**/* diff --git a/report/report.pdf b/report/report.pdf index e48a339..dc12275 100644 Binary files a/report/report.pdf and b/report/report.pdf differ diff --git a/report/report.tex b/report/report.tex index 40b76fc..e4dedaf 100644 --- a/report/report.tex +++ b/report/report.tex @@ -5,6 +5,8 @@ \usepackage{parskip} \usepackage{minted} \usepackage[utf8]{inputenc} +\usepackage{subcaption} +\usepackage{graphicx} \setlength{\parindent}{0pt} @@ -305,6 +307,48 @@ search are a 100 results limit and the use of \texttt{t\_*} fields to match documents (lines 25 and 23 -- remember the definition of the \texttt{text} field). \section{User interface} +Figure \ref{fig:ui} illustrates the IR system's UI showing its features. + +\begin{figure}[H] + \begin{subfigure}{\textwidth} + \centering + \includegraphics[width=0.8\textwidth]{ui_start.png} + \caption{The UI, when opened, prompts to insert a query in the input field + and press Enter. Here the user typed ``Lugano''.} + \vspace{0.5cm} + \end{subfigure} + \begin{subfigure}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth]{ui.png} + \caption{After the user inputs a query and presses Enter, resulting images are shown on the + right. Found clusters are shown on the left using FoamTree.} + \end{subfigure} + \hspace{0.1\textwidth} + \begin{subfigure}{0.45\textwidth} + \centering + \includegraphics[width=\textwidth]{ui_cl.png} + \caption{When a user clicks a cluster, results are filtered depending on the + cluster clicked. If the user clicks again on the cluster, filtering is + removed.} + \end{subfigure} + \caption{The UI and its various states.} + \label{fig:ui} +\end{figure} + +The UI has been implemented using HTML5, vanilla CSS and vanilla JS, with the +exception of the \textit{FoamTree} library from the Carrot2 project to handle +displaying the clustering bar to the left of search results. + +Event handlers offered by \textit{FoamTree} allowed for the implementation of +the results filtering feature when a clustering in filtered. + +This is a single page application, i.e. all updates to the UI happen without +making the page refresh. This was achieved by using AJAX requests to interact +with Solr. + +All UI files can be found under the \texttt{ui} directory in the repository root +directory. In order to run the UI, a ``CORS Everywhere'' extension must be +installed on the viewing browser. See the installation instructions for details. \section{User evaluation} \end{document} diff --git a/report/ui.png b/report/ui.png new file mode 100644 index 0000000..e4b4afe Binary files /dev/null and b/report/ui.png differ diff --git a/report/ui_cl.png b/report/ui_cl.png new file mode 100644 index 0000000..4f43b29 Binary files /dev/null and b/report/ui_cl.png differ diff --git a/report/ui_start.png b/report/ui_start.png new file mode 100644 index 0000000..a0ffaf8 Binary files /dev/null and b/report/ui_start.png differ