- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 whoosh对于全文搜索,
我想知道:如何获取所有已添加的“索引数据”。
这是我的main.py
:
import cgi,os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
from whoosh import store
from whoosh.fields import Schema, STORED, ID, KEYWORD, TEXT
from whoosh.index import getdatastoreindex
from whoosh.qparser import QueryParser, MultifieldParser
import logging
SEARCHSCHEMA = Schema(content=TEXT(stored=True))
class BaseRequestHandler(webapp.RequestHandler):
def render_template(self, filename, template_args=None):
if not template_args:
template_args = {}
path = os.path.join(os.path.dirname(__file__), 'templates', filename)
self.response.out.write(template.render(path, template_args))
class MainPage(BaseRequestHandler):
def get(self):
self.render_template('index.html')
class SearchPage(BaseRequestHandler):
def get(self):
ix = getdatastoreindex("hello", schema=SEARCHSCHEMA)
parser = QueryParser("content", schema = ix.schema)
q = parser.parse(self.request.get('query'))
results = ix.searcher().search(q)
a=''
for result in results:
a+=('<blockquote>%s</blockquote>' %
cgi.escape(result['content']))
all=ix.schema
self.render_template('index.html',{'results':a,'all':all})
class Guestbook(BaseRequestHandler):
def post(self):
ix = getdatastoreindex("hello", schema=SEARCHSCHEMA)
writer = ix.writer()
writer.add_document(content=u"%s" % self.request.get('content'))
writer.commit()
self.redirect('/')
application = webapp.WSGIApplication(
[('/', MainPage),
('/search', SearchPage),
('/sign', Guestbook)],
debug=True)
def main():
run_wsgi_app(application)
if __name__ == "__main__":
main()
我的 index.html
是:
<form action="/search" method="get">
<div><input name="query" type="text" value=""><input type="submit" value="Search"></div>
</form>
<form action="/sign" method="post">
<div><textarea name="content" rows="3" cols="60"></textarea></div>
<div><input type="submit" value="Sign Guestbook"></div>
</form>
{{results}}
all data:
{{all}}
{% for i in all%}
{{i}}
{%endfor%}
最佳答案
此解决方案已在 Whoosh 2.7 上进行测试,但也适用于以前的版本
您可以列出所有结果:
all_docs = ix.searcher().documents()
在模板中,您可以像这样遍历它们:
{% for doc in all_docs %}
{{ doc.content }} <!-- or any doc.field as field is in your schema -->
{% endfor %}
关于python - 如何使用 whoosh 获取所有 "index data",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104718/
我有一个包含约 900 万行的 CSV 文件。我希望能够快速从该文件中搜索一行。我决定使用 python whoosh 来索引这些数据,然后搜索它,如下所示。 schema = Schema(cont
我正在使用 Whoosh 索引和搜索各种编码的各种文本。但是,在对我的索引文件执行搜索时,一些匹配结果没有出现在使用“突出显示”功能的输出中。我觉得这与编码错误有关,但我无法弄清楚是什么阻止了所有结果
此代码直接来自 Whoosh 的 quickstart docs : import os.path from whoosh.index import create_in from whoosh.fie
感谢您花时间提前回答这个问题。我对 Python (3.6) 和 Whoosh (2.7.4) 都比较陌生,所以如果我遗漏了一些明显的东西,请原谅我。 Whoosh 2.7.4 — 合并结果错误 我正
Whoosh 是一个用纯 Python ( official website) 实现的快速、功能强大的全文索引和搜索库。 但我找不到与其他搜索引擎相比的任何速度/性能比较,尤其是基于 Lucene 的
我正在使用带有 whoosh 的 haystack 作为 Django 应用程序的后端。 有什么方法可以查看whoosh生成的索引的内容(以易于阅读的格式)?我想看看索引了哪些数据以及如何索引,以便更
有没有人有使用django-haystack的经验与 whoosh后端? 我希望将它用于分类的实时搜索类型工具。在生产环境中是否足够快速/高效以避免设置 solr或 xapian ? 最佳答案 作为一
我正在使用 django haystack 1.27。我可以搜索。那太棒了。但我怎样才能搜索部分单词呢? 例如: 搜索:OREM、OR、EM 单词:LOREM 结果:LOREM 搜索索引.py cla
我正在尝试结合使用 Haystack 和 Whoosh 在我的应用程序中编制索引和搜索。当我重建索引时,我得到了这个结果: All documents removed. Updating backen
这个问题是关于 Django Haystack 的,带有 Whoosh 后端。我想在搜索中使用拼写建议。问题是它暗示的太多了。 假设我有两个模型:苹果和橙子。 如果我有这样的东西: result =
我正在尝试使用 Whoosh 索引一些文档。然而,当我尝试将文档添加到 Whoosh 索引时,Python 最终返回以下错误: RecursionError: maximum recursion de
我开始研究内容索引的实现,并且看了一下 Whoosh ( https://pypi.python.org/pypi/Whoosh/ )。 我很想知道 Whoosh 将其内容物理存储在哪里 - 它使用文
默认情况下,多词搜索被拆分成文件,每个词单独存在。我怎样才能覆盖这个默认值并快速搜索完全匹配的内容?尽管它很可能受支持,但我在 google/whoosh 文档中找不到。 此外,与相同的多词搜索相比,
我似乎一辈子都无法安装 whoosh alchemy。引用:http://pythonhosted.org/Flask-WhooshAlchemy/ .不管怎样,我在关注http://blog.mig
我已经用这样的模式为我的所有文档编制了索引: ID = ID(stored=True) Body = TEXT(analyzer=StemmingAnalyzer(), stored=False,fi
我正在尝试实现 Okapi BM25 以使用 python 通过查询搜索文档 whoosh图书馆。 我的理解是whoosh根据query使用BM25计算每篇文档的score,然后排序得到最好的结果。
这个奇怪的错误是在我中断了 whoosh 提交过程后出现的。当我现在尝试 promise 时,我得到了 File "/usr/local/lib/python2.7/dist-packages/w
我正在创建一个必须支持嵌套数据层次结构的搜索索引。出于测试目的,我正在制作一个非常简单的架构: test_schema = Schema( name_ngrams=NGRAMWORDS(min
我使用了来自 pythonhosted.org 的示例代码,但似乎没有发生任何事情。这是我使用的代码: results = mysearcher.search(myquery) for hit in
我有一个如下所示的索引架构: schema = Schema( title=TEXT(stored=True), content=TEXT, id=ID, topicI
我是一名优秀的程序员,十分优秀!