我宣布了一个枚举:
public enum SupportedPermissions
{
basic,
repository,
both
}
Run Code Online (Sandbox Code Playgroud)
我也有像这样的POCO:
public class File
{
public string Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public SupportedPermissions SupportedPermissions { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个方法,我可以用它来创建一个新的File对象:
public string CreateFile(string id, string name, string description, Enum supportedPermissions)
{
file = new File
{
Name = name,
Id = id,
Description = description,
SupportedPermissions = supportedPermissions.basic
};
return file.Id;
}
Run Code Online (Sandbox Code Playgroud)
我如何为枚举创建参数以及如何在我的伪代码中分配它,SupportedPermissions = supportedPermissions.basic …
我已经将documents插入MongoDB而没有id.我想通过搜索默认分配的MongoDBObjectId来检索它们.
这是我的尝试 -
var query_id = Query.EQ("_id", "50ed4e7d5baffd13a44d0153");
var entity = dbCollection.FindOne(query_id);
return entity.ToString();
Run Code Online (Sandbox Code Playgroud)
我得到以下错误 -
发生了'System.NullReferenceException'类型的第一次机会异常
问题是什么?
我是Python和NLTK的新手.我正在忙于一个可以执行拼写检查的应用程序(用正确拼写的单词替换拼写错误的单词),我目前正在使用Python-2.7上的附魔库,PyEnchant和NLTK库.下面的代码是处理更正/替换的类.
from nltk.metrics import edit_distance
class SpellingReplacer(object):
def __init__(self, dict_name = 'en_GB', max_dist = 2):
self.spell_dict = enchant.Dict(dict_name)
self.max_dist = 2
def replace(self, word):
if self.spell_dict.check(word):
return word
suggestions = self.spell_dict.suggest(word)
if suggestions and edit_distance(word, suggestions[0]) <= self.max_dist:
return suggestions[0]
else:
return word
Run Code Online (Sandbox Code Playgroud)
我编写了一个函数,它接受单词列表并对每个单词执行def替换并返回单词列表但拼写正确.
def spell_check(word_list):
checked_list = []
for item in word_list:
replacer = SpellingReplacer()
r = replacer.replace(item)
checked_list.append(r)
return checked_list
>>> word_list = ['car', 'colour']
>>> spell_check(words)
['car', 'color']
Run Code Online (Sandbox Code Playgroud)
现在我不喜欢这个,因为它不是很准确,我正在寻找一种方法来实现单词的拼写检查和替换.我还需要一些可以解决像"caaaar"这样的拼写错误的东西吗?有没有更好的方法来执行拼写检查?如果是这样,他们是什么?谷歌如何做到这一点,因为他们的拼写建议非常好?有什么建议
我正在开始一个新项目,我正在寻找使用MongoDB作为文档存储工具和Neo4j作为映射文档之间关系的机制,然后我想通过rest API公开我的查询结果.人们会说这样做的优点和缺点是什么?是否有更好的方法可以使用不同的NoSQL文档存储来实现这一目标?有没有人可以在网上找到有人试图做类似事情的例子?
嗨,我有json,看起来像这样:
{
"Id": " 357342524563456678",
"title": "Person",
"language": "eng",
"questionAnswer": [
{
"4534538254745646.1": {
"firstName": "Janet",
"questionNumber": "1.1"
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
现在我编写了一些循环遍历questionAnswer数组中对象的代码,然后获取对象的名称4534538254745646.1.现在我试图保存每个项目的关键值和值,但我只是设法获得价值.
我该怎么做,这是我的代码:
JToken entireJson = JToken.Parse(json);
JArray inner = entireJson["questionAnswer"].Value<JArray>();
foreach(var item in inner)
{
JProperty questionAnswerDetails = item.First.Value<JProperty>();
//This line gets the name, which is fine
var questionAnswerSchemaReference = questionAnswerDetails.Name;
var properties = questionAnswerDetails.Value.First;
//This only gets Janet
var key = properties.First;
var value = properties.Last;
}
Run Code Online (Sandbox Code Playgroud)
所以目前我只能得到珍妮特,但我也想要名字字段.我想接受这个并添加到字典即
Dictionary<string, string> details = new …Run Code Online (Sandbox Code Playgroud) 我更改了Ubuntu 12.10上的/ ect文件权限,以便我可以编辑bash.bashrc以便neo4j可以看到JVM但是现在我在尝试运行neo4j服务器时遇到错误
我输入下面的代码,我设法编辑bash.bashrc,但现在我根本不能使用sudo!
sudo chmod -R ugo+rw /ect
sudo -u neo4j /home/neo4j-community-1.8/bin/neo4j start
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Run Code Online (Sandbox Code Playgroud)
我读了一个论坛,一个人说我需要再次重新安装ubuntu,我希望事实并非如此?请帮忙!!
如何使用Elasticsearch Nest API重新创建以下索引?
这是索引的json,包括映射:
{
"settings": {
"analysis": {
"filter": {
"trigrams_filter": {
"type": "ngram",
"min_gram": 3,
"max_gram": 3
}
},
"analyzer": {
"trigrams": {
"type": "custom",
"tokenizer": "standard",
"filter": [
"lowercase",
"trigrams_filter"
]
}
}
}
},
"mappings": {
"data": {
"_all" : {"enabled" : true},
"properties": {
"text": {
"type": "string",
"analyzer": "trigrams"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的尝试:
var newIndex = client.CreateIndexAsync(indexName, index => index
.NumberOfReplicas(replicas)
.NumberOfShards(shards)
.Settings(settings => settings
.Add("merge.policy.merge_factor", "10")
.Add("search.slowlog.threshold.fetch.warn", "1s")
.Add("mapping.allow_type_wrapper", true))
.AddMapping<Object>(mapping …Run Code Online (Sandbox Code Playgroud) 当我们通过nuget安装了以前版本的Neo4jClient时,我们看到Newtonsoft.Json版本4.5.0.0作为依赖项安装.我们还使用需要版本6.0.0.0的Newtonsoft.Json的其他软件包,当我们安装它们时,它会覆盖版本4.5.0.0.
当我们启动应用程序时,我们收到此错误:
Unhandled Exception: System.ServiceModel.FaultException`1[System.ServiceModel.Ex
ceptionDetail]: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.
0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies.
The located assembly's manifest definition does not match the assembly referenc
e. (Exception from HRESULT: 0x80131040)
Run Code Online (Sandbox Code Playgroud)
我们查看了所有的配置,发现没有引用版本4.5.0.0,但是仔细看了一下Neo4jClient后我们发现了这个.

这是packages.config
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AzureStorageClient" version="0.0.5.1829" targetFramework="net45" />
<package id="CouchbaseNetClient" version="1.3.4" targetFramework="net45" />
<package id="Elasticsearch.Net" version="1.0.0-beta1" targetFramework="net45" />
<package id="Microsoft.Bcl" version="1.1.8" targetFramework="net45" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" />
<package id="Microsoft.Net.Http" version="2.2.20" targetFramework="net45" />
<package id="Neo4jClient" version="1.0.0.652" targetFramework="net45" />
<package …Run Code Online (Sandbox Code Playgroud) 我有一个有20行的表,该表取消隐藏在我的表上方单元格中指定的行数.因此,如果我将5放入单元格中,则20行中的5行将被取消隐藏.所以现在我想获得现在不隐藏的5个单元格的MAX.我该怎么做?
我刚刚使用我的Windows 7 64位机器上的setup.exe安装了CouchBase Server Enterprise v2.0.0,并且可能安装后基于浏览器的控制台会自动出现,但我得到的是无法连接:
**Firefox can't establish a connection to the server at localhost:8091.**
Run Code Online (Sandbox Code Playgroud)
我检查时CouchBase服务正在运行?我现在卸载并重新安装了几次?我在这里错过了什么吗?