- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我已经用这样的模式为我的所有文档编制了索引:
ID = ID(stored=True)
Body = TEXT(analyzer=StemmingAnalyzer(), stored=False,field_boost=4.0)
Name = TEXT(stored=True, field_boost=5.0)
Brand= TEXT(StemmingAnalyzer(),stored=False, field_boost=4.0)
...
我的搜索模块如下所示:
qp = MultifieldParser(["Name", "Body", "Brand",
"Familia","Superpadre","Tags","ID"], schema=ix.schema)
但是当我搜索iphone 6时,它是这样查询的:
<Top 20 Results for Or([Term('Name', u'iphone'), Term('Body',
u'iphon'), Term('Brand', u'iphon'), Term('Familia', u'iphon'),
Term('Superpadre', u'iphon'), And([Term('Tags', u'iphone'),
Term('Tags', u'6')]), Term('ID', u'iphon')]) runtime=0.0327291488647>
只搜索TAGS中的数字6,不搜索名称、品牌等
你能帮我在其他领域也搜索一下吗?
提前谢谢大家。
最佳答案
所有单字词在 Whoosh 中默认被视为停用词并被忽略。这意味着所有字母和数字都将被忽略。
stop words are words which are filtered out before or after processing of natural language data (text). (ref)
您可以检查 StopFilter
默认情况下将 minsize = 2
添加到预定义集。
class whoosh.analysis.StopFilter(
stoplist=frozenset(['and', 'is', 'it', 'an', 'as', 'at', 'have', 'in', 'yet', 'if', 'from', 'for', 'when', 'by', 'to', 'you', 'be', 'we', 'that', 'may', 'not', 'with', 'tbd', 'a', 'on', 'your', 'this', 'of', 'us', 'will', 'can', 'the', 'or', 'are']),
minsize=2,
maxsize=None,
renumber=True,
lang=None
)
因此,您可以通过重新定义架构并删除 StopFilter
或将其与 minsize = 1
一起使用来解决此问题:
from whoosh.analysis import StemmingAnalyzer
schema = Schema(content=TEXT(analyzer=StemmingAnalyzer(stoplist=None)))
或
schema = Schema(content=TEXT(analyzer=StemmingAnalyzer(minsize=1)))
关于python - 用数字搜索 - python - whoosh,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32245178/
我有一个包含约 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
我是一名优秀的程序员,十分优秀!