Spaces:
Runtime error
Runtime error
import os | |
import streamlit as st | |
import streamlit.components.v1 as components | |
from datasets import load_dataset | |
from pyserini.search.lucene import LuceneSearcher | |
st.set_page_config(page_title="IMDB Search", layout="wide") | |
st.sidebar.markdown( | |
""" | |
<style> | |
.aligncenter { | |
text-align: center; | |
font-weight: bold; | |
font-size: 28px; | |
} | |
</style> | |
<p class="aligncenter">IMDB Search</p> | |
""", | |
unsafe_allow_html=True, | |
) | |
st.sidebar.markdown( | |
""" | |
<style> | |
.aligncenter { | |
text-align: center; | |
} | |
</style> | |
""", | |
unsafe_allow_html=True, | |
) | |
query = st.sidebar.text_input(label="Search query", value="") | |
footer = """ | |
<style> | |
.footer { | |
position: fixed; | |
left: 0; | |
bottom: 0; | |
width: 100%; | |
background-color: white; | |
color: black; | |
text-align: center; | |
} | |
</style> | |
<div class="footer"> | |
<p> | |
Powered by <a href="https://huggingface.co/" >HuggingFace π€</a> and <a href="https://github.com/castorini/pyserini" >Pyserini π¦</a> | |
</p> | |
</div> | |
""" | |
st.sidebar.markdown(footer, unsafe_allow_html=True) | |
searcher = LuceneSearcher("index") | |
ds = load_dataset("imdb", split="train") | |
def search(query): | |
hits = searcher.search(query, k=10) | |
results = ds.select([int(hit.docid) for hit in hits]) | |
return results["text"] | |
if st.sidebar.button("Search π"): | |
results = search(query) | |
results_html = "" | |
for result in results: | |
results_html += result + "<br><br><hr><br><br>" | |
rendered_results = f""" | |
<div id="searchresultsarea"> | |
{results_html} | |
</div> | |
""" | |
components.html( | |
rendered_results, | |
height=800, | |
scrolling=True, | |
) | |